判断当前时间是否在某个日期/某个时间点前后

一、日期比较 yyyy-MM-dd

        比较日期一般使用LocalDate类


/**
 * 判断当前日期是否大于某个日期
 * @param date yyyy-MM-dd
 * @return
 */
public static boolean afterDate(String date){
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");

    //把String转为LocalDate
    LocalDate localTime=LocalDate.parse(date,dtf);
    //判断当前日期是否大于指定日期
    return LocalDate.now().isAfter(localTime);
}

时间点比较 HH:mm:ss

/**
 * 判断当前时间是否大于某个时点
 * @param time HH:mm:ss
 * @return
 */
public static boolean timeCompare(String time){
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
    LocalTime localTime=LocalTime.parse(time,dtf);
    return LocalTime.now().isAfter(localTime);
}

比较时间点要使用LocalTime 比较,HH:mm:ss格式如果使用LocalDateTime类,在LocalDateTime.parse(time,dtf)这里会报错。


时间比较 yyyy-MM-dd HH:mm:ss

/**
 * 判断当前时间是否大于某个时间
 * @param time yyyy-MM-dd HH:mm:ss
 * @return
 */
public static boolean dateCompare(String time){
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    LocalDateTime localTime=LocalDateTime.parse(time,dtf);
    return LocalDateTime.now().isAfter(localTime);
}

总结:比较日期使用LocalDate类、比较时间点(没有年月日)使用LocalTime类,普通时间比较使用LocalDateTime类即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值