zoukankan      html  css  js  c++  java
  • LocalDate计算两个日期相差天数

    import org.apache.commons.lang.StringUtils;
    
    
    import java.time.LocalDate;
    import java.time.ZoneId;
    import java.time.format.DateTimeFormatter;
    import java.time.temporal.ChronoUnit;
    import java.util.Date;
    
    /**
     * LocalDate 工具类
     * @author zsw
     * @date 2021-03-16 18:43
     */
    public class LocalDateUtils {
    
        /**
         * 计算当前日期与{@code endDate}的间隔天数
         *
         * @param endDate
         * @return 间隔天数
         */
        public static long localDateCompare(LocalDate endDate){
            return LocalDate.now().until(endDate, ChronoUnit.DAYS);
        }
    
        /**
         * 计算日期{@code startDate}与{@code endDate}的间隔天数
         *
         * @param startDate
         * @param endDate
         * @return 间隔天数
         */
        public static long localDateCompare(LocalDate startDate, LocalDate endDate){
            return startDate.until(endDate, ChronoUnit.DAYS);
        }
    
        /**
         * 字符串转换成日期
         * @param strDate 日期字符串
         * @param pattern 日期的格式
         */
        public static LocalDate stringToLocalDate(String strDate, String pattern) {
            if (StringUtils.isBlank(strDate)){
                return null;
            }
            DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern);
            return LocalDate.parse(strDate, fmt);
        }
    
        /**
         * Date转LocalDate
         * @param date
         */
        public static LocalDate dateToLocalDate(Date date) {
            if(null == date) {
                return null;
            }
            return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        }
    }
  • 相关阅读:
    每日总结3.8
    Go中定时器实现原理及源码解析
    Go语言实现布谷鸟过滤器
    详解Go语言调度循环源码实现
    Go语言中时间轮的实现
    详解Go语言I/O多路复用netpoller模型
    详解Go中内存分配源码实现
    Go中由WaitGroup引发对内存对齐思考
    【分享】java精品实战教程
    nginx实战教程
  • 原文地址:https://www.cnblogs.com/wwct/p/14561916.html
Copyright © 2011-2022 走看看