java 判断两个日期相差多少天

这篇博客介绍了如何在Java 8中利用LocalDate的until方法和toEpochDay方法来计算两个日期之间的天数差距。通过示例代码展示了将日期字符串解析为LocalDate对象,并计算日期范围的方法。这两种方法提供了不同的方式来获取日期间隔,对于日期操作和时间跨度的计算具有实用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 通过LocalDate.until

long until = startTimeParse.until(endTimeParse, ChronoUnit.DAYS);

2. 通过LocalDate.toEpochDay

long dayRange = endTimeParse.toEpochDay() - startTimeParse.toEpochDay();

代码如下 日期String格式为yyyy-MM-dd

            LocalDate startTimeParse = LocalDate.parse(search.getStartTime(), DateTimeFormatter.ISO_LOCAL_DATE);
            LocalDate endTimeParse = LocalDate.parse(search.getEndTime(), DateTimeFormatter.ISO_LOCAL_DATE);
            long dayRange = endTimeParse.toEpochDay() - startTimeParse.toEpochDay();
            long until = startTimeParse.until(endTimeParse, ChronoUnit.DAYS);

参考

JDK 8 如何通过 LocalDate 计算两个日期相差的天数

判断两个日期相差59,可以使用Java中的日期时间相关的类库,比如`java.time`包中的`LocalDate`类。 首先,我们需要获取两个日期并创建对应的`LocalDate`对象。例如,假设要比较的两个日期为`date1`和`date2`,可以使用`LocalDate.parse()`方法将字符串日期转换为`LocalDate`对象。 然后,我们可以使用`java.time.temporal.ChronoUnit`枚举类中的`between()`方法来计算两个日期之间的差距,以为单位。在该方法中,需要传入两个`LocalDate`对象作为参数,并指定计算的时间单位,这里推荐使用`ChronoUnit.DAYS`来指定以为单位的差距。 最后,我们可以将计算出的日期差距与目标值59进行比较,如果相等则表示两个日期相差59。可以使用条件语句进行判断,如`if (difference == 59)`。 完整的代码如下: ```java import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class DateComparison { public static void main(String[] args) { String strDate1 = "2021-01-01"; String strDate2 = "2021-03-01"; LocalDate date1 = LocalDate.parse(strDate1); LocalDate date2 = LocalDate.parse(strDate2); long difference = ChronoUnit.DAYS.between(date1, date2); if (difference == 59) { System.out.println("两个日期相差59"); } else { System.out.println("两个日期相差不满足59"); } } } ``` 以上代码中,我们假设`strDate1`为"2021-01-01",`strDate2`为"2021-03-01",通过计算发现两个日期相差59,因此输出结果为"两个日期相差59"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值