zoukankan      html  css  js  c++  java
  • jdk1.8日期的简单操作工具类

    关于jdk8的日期操作类

    import java.time.Instant;
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.ZoneId;
    import java.time.format.DateTimeFormatter;
    import java.util.Date;
    
    public class Jdk8DateUtil {
    
        public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
        public static final String DATE_PATTERN = "yyyy-MM-dd";
    
        /**
         * date  to  localdate
         * @param date
         * @return
         */
        public static LocalDate dateToLocalDate(Date date){
            LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
            return localDate;
        }
    
        /**
         * date to localdatetime
         * @param date
         * @return
         */
        public static LocalDateTime dateToLocalDateTime(Date date){
            LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
            return localDateTime;
        }
    
        /**
         * localdate to date
         * @param localDate
         * @return
         */
        public static Date localDateToDate(LocalDate localDate){
            ZoneId zone = ZoneId.systemDefault();
            Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
            Date date = Date.from(instant);
            return date;
        }
    
        /**
         * localdatetime to date
         * @param localDateTime
         * @return
         */
        public static Date localDateTimeToDate(LocalDateTime localDateTime){
            ZoneId zone = ZoneId.systemDefault();
            Instant instant = localDateTime.atZone(zone).toInstant();
            Date date = Date.from(instant);
            return date;
        }
    
        /**
         * localdatetime to string
         * @param localDateTime
         * @param dateTimePattern
         * @return
         */
        public static String localDateTimeToString(LocalDateTime localDateTime,String dateTimePattern){
            try {
                DateTimeFormatter format;
                if(dateTimePattern != null && dateTimePattern.trim().length() > 0){
                    format = DateTimeFormatter.ofPattern(dateTimePattern);
                } else {
                    format = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN);
                }
                String str = localDateTime.format(format);
                return str;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * localdate to string
         * @param localDate
         * @param datePattern
         * @return
         */
        public static String localDateToString(LocalDate localDate,String datePattern){
            try {
                DateTimeFormatter format;
                if(datePattern != null && datePattern.trim().length() > 0){
                    format = DateTimeFormatter.ofPattern(datePattern);
                } else {
                    format = DateTimeFormatter.ofPattern(DATE_PATTERN);
                }
                String str = localDate.format(format);
                return str;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
        public static LocalDate localDateStrToLocalDate(String localDateStr,String datePattern){
           if(localDateStr == null || localDateStr.trim().length() <= 0)
               return null;
           DateTimeFormatter format;
           if(datePattern != null && datePattern.trim().length() > 0){
               format = DateTimeFormatter.ofPattern(datePattern);
           } else {
               format = DateTimeFormatter.ofPattern(DATE_PATTERN);
           }
            LocalDate localDate = LocalDate.parse(localDateStr, format);
           return localDate;
        }
        public static LocalDateTime localDateTimeStrToLocalDateTime(String localDateTimeStr,String datePattern){
            if(localDateTimeStr == null || localDateTimeStr.trim().length() <= 0)
                return null;
    
            DateTimeFormatter format;
            if(datePattern != null && datePattern.trim().length() > 0){
                format = DateTimeFormatter.ofPattern(datePattern);
            } else {
                format = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN);
            }
            LocalDateTime localDateTime = LocalDateTime.parse(localDateTimeStr, format);
            return localDateTime;
        }
    
    
        public static void main(String[] args) {
            System.out.println("原生date:" + new Date());
            LocalDate localDateNow = LocalDate.now();
            System.out.println("LocalDate:" + localDateNow.toString());
            LocalDateTime localDateTimeNow = LocalDateTime.now();
            System.out.println("LocalDateTime:"+ localDateTimeNow);
            System.out.println("======================");
            LocalDateTime localDateTimeOf = LocalDateTime.of(2019, 10, 22, 9, 37, 11);
            System.out.println("指定日期和时间的LocalDateTime:" + localDateTimeOf);
            LocalDate localDateOf = LocalDate.of(2019, 10, 22);
            System.out.println("指定日期的LocalDate:"+localDateOf);
            //比较日期相等
            if(localDateNow.equals(localDateOf)){
                System.out.println("日期相等");
            }
            //比较日期和时间相等
            if(localDateTimeNow.equals(localDateTimeOf)){
                System.out.println("日期和时间相等");
            }
            System.out.println("========================");
            System.out.println("dateToLocalDate:" + dateToLocalDate(new Date()));
            System.out.println("dateToLocalDateTime:" + dateToLocalDateTime(new Date()));
            System.out.println("=======================");
            System.out.println("localDateToDate:" + localDateToDate(localDateNow));
            System.out.println("localDateTimeToDate:" + localDateTimeToDate(localDateTimeNow));
            System.out.println("============================");
            System.out.println(localDateTimeToString(localDateTimeNow,"yyyy/MM/dd HH:mm:ss"));
            System.out.println(localDateToString(localDateNow,""));
            System.out.println("===================================");
            System.out.println(localDateStrToLocalDate("2012/11/11","yyyy/MM/dd"));
            System.out.println(localDateTimeStrToLocalDateTime("2012/11/11 12:12:12","yyyy/MM/dd HH:mm:ss"));
        }
    }
  • 相关阅读:
    SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters
    DTP模型之一:(XA协议之三)MySQL数据库分布式事务XA优缺点与改进方案
    Spring Bean基本管理--bean注入方式汇总
    类装载器ClassLoader
    spring中的BeanFactory与ApplicationContext的作用和区别?
    Spring IoC,IoC原理
    mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
    session.write类型引发的思考---Mina Session.write流程探索.doc--zhengli
    MyBatis的association示例——MyBatis学习笔记之三
    MyBatis一对多双向关联——MyBatis学习笔记之七
  • 原文地址:https://www.cnblogs.com/longyao/p/11718436.html
Copyright © 2011-2022 走看看