计算相差天数【java】
描述
给定两个日期,计算它们之间相差的天数。例如2021年11月8号与2021年11月9号相差1天,2021年11月8号与2021年10月8号相差31天。
测试集中的日期以“年-月-日”的格式给出,其中年份为4位,月份和日期均为两位,比如:“2021-08-05”,“2021-12-01”,这两个日期之间相差118天。
题目保证给定的均是公元元年之后、2050年之前的合法的日期。
格式
输入格式
一行字符串,表示两个日期,每个日期格式均为“年-月-日”,日期之间以空格隔开
输出格式
一个正整数,表示相隔的天数
样例
输入样例
2021-01-01 2021-12-31
输出样例
364
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;
public class DateDiCalculator{public static void main(String[] args){Scanner sc=new Scanner(System.in);String input=sc.nextLine();sc.close();String[] dates=input.trim().split("\\s+");String dateStr1=dates[0];String dateStr2=dates[1];DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDate date1 = LocalDate.parse(dateStr1, formatter);LocalDate date2 = LocalDate.parse(dateStr2, formatter);long diffDays = Math.abs(ChronoUnit.DAYS.between(date1, date2));System.out.println(diffDays);}
}
