Java 8中的日期时间API是考虑了闰年和平年的特残情况的。在这个API中,LocalDate类表示日期,ChronoUnit.DAYS.between()方法计算两个日期之间的天数差异时会考虑闰年和平年的影响。
复制代码
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

/**
 * @author XiSoil
 */
public class Test1DateCalculator {
    public static void main(String[] args) {
        String date1 = "2021-01-01";
        String date2 = "2022-12-31";

        LocalDate start = LocalDate.parse(date1);
        LocalDate end = LocalDate.parse(date2);

        long daysBetween = ChronoUnit.DAYS.between(start, end);
        System.out.println("Days between " + date1 + " and " + date2 + " : " + daysBetween);
    }
}
复制代码

通过计算获取相差天数

复制代码
/**
 * @author XiSoil
 */
public class Test2DaysBetween {
    public static void main(String[] args) {
        System.out.println(daysBetween("2019-01-01", "2020-12-31"));
    }
        public static int daysBetween(String date1, String date2) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date d1 = null;
        Date d2 = null;
        try {
            d1 = sdf.parse(date1);
            d2 = sdf.parse(date2);
        } catch (Exception e) {
            e.printStackTrace();
        }
        long between = (d2.getTime() - d1.getTime()) / (1000 * 3600 * 24);
        return Integer.parseInt(String.valueOf(between)) >= 0 ? Integer.parseInt(String.valueOf(between)) : -Integer.parseInt(String.valueOf(between));
    }
}
复制代码

 

posted on   XiSoil  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了



点击右上角即可分享
微信分享提示