下面我来详细讲解“Java判断两个日期相差天数的方法”的完整攻略。
1. 获取两个日期对象
首先需要获取两个日期对象,可以使用Java中的日期类——java.util.Date
或java.time.LocalDate
。这里提供两种方式:
1.1 使用java.util.Date
Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2021-10-01");
Date date2 = new SimpleDateFormat("yyyy-MM-dd").parse("2021-10-05");
1.2 使用java.time.LocalDate
LocalDate date1 = LocalDate.parse("2021-10-01");
LocalDate date2 = LocalDate.parse("2021-10-05");
2. 计算日期相差天数
接下来需要计算两个日期相差的天数。可以使用java.time.Duration
或java.time.Period
,这里提供其中的一种实现方式:
2.1 使用java.time.Period
Period diff = Period.between(date1, date2);
int diffDays = diff.getDays();
2.2 使用java.time.Duration
Duration duration = Duration.between(date1.atStartOfDay(), date2.atStartOfDay());
long diff = duration.toDays();
3. 完整代码示例
下面是一个完整的代码示例,使用了java.time.LocalDate
和Period
计算日期相差天数:
import java.time.LocalDate;
import java.time.Period;
public class Test {
public static void main(String[] args) {
LocalDate date1 = LocalDate.parse("2021-10-01");
LocalDate date2 = LocalDate.parse("2021-10-05");
Period diff = Period.between(date1, date2);
int diffDays = diff.getDays();
System.out.println("相差天数:" + diffDays);
}
}
4. 示例
假设现在要计算两个日期相差的天数,分别是2021-10-01和2021-10-05。如果按照上述例子运行程序,程序将会输出:
相差天数:4
再来一个示例,计算2021-10-10和2021-10-01相差的天数:
import java.time.LocalDate;
import java.time.Period;
public class Test {
public static void main(String[] args) {
LocalDate date1 = LocalDate.parse("2021-10-10");
LocalDate date2 = LocalDate.parse("2021-10-01");
Period diff = Period.between(date1, date2);
int diffDays = diff.getDays();
System.out.println("相差天数:" + diffDays);
}
}
输出结果为:
相差天数:-9
由此可以看出,计算的结果是可以为负数的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java判断两个日期相差天数的方法 - Python技术站