Java 计算两个日期相差

java 8 比较日期核心 api 

ChronoUnit

可比较 年、月、周、日、时、分、秒、毫秒、微秒、纳秒

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.time.temporal.Temporal;

public class DateUtil {

    public static void main(String[] args) {
        // 格式一
        String startDate = "2024-01-01";
        Temporal startTemporal = LocalDate.parse(startDate);
        String endDate = "2024-10-01";
        Temporal endTemporal = LocalDate.parse(endDate);
        // 相差年
        long betweenYear = ChronoUnit.YEARS.between(startTemporal, endTemporal);
        // 相差月
        long betweenMonth = ChronoUnit.MONTHS.between(startTemporal, endTemporal);
        // 相差天
        long betweenDay = ChronoUnit.DAYS.between(startTemporal, endTemporal);

        // 格式二
        LocalDate beforeDate = LocalDate.of(2023, 9, 18);
        LocalDate afterDate = LocalDate.of(2024, 10, 8);
        //月数
        long betweenMonths = ChronoUnit.MONTHS.between(beforeDate, afterDate);
        //年数
        long betweenYears = ChronoUnit.YEARS.between(beforeDate, afterDate);
        //天数
        long betweenDays = ChronoUnit.DAYS.between(beforeDate, afterDate);

        // 相差时分
        LocalDateTime beforeTime = LocalDateTime.of(2024, 9, 19, 8, 0, 0);
        LocalDateTime afterTime = LocalDateTime.of(2024, 9, 19, 18, 0, 0);
        long betweenHours = ChronoUnit.HOURS.between(beforeTime, afterTime);
        long betweenMinutes = ChronoUnit.MINUTES.between(beforeTime, afterTime);

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值