Hutool时间和日期相关工具

日期时间工具

  1. 获取当前时间(1)

    public class HDateAndTime {
        public static void main(String[] args) {
            //获取当前时间
            Date date= DateUtil.date();
            System.out.println(date);
        }
    }
    

    image

  2. 获取当前时间(2)

    public class HDateAndTime {
        public static void main(String[] args) {
            //获取当前时间
            Date date= DateUtil.date(Calendar.getInstance());
            System.out.println(date);
        }
    }
    

    image

  3. 获取当前时间(3)

    public class HDateAndTime {
        public static void main(String[] args) {
            //获取当前时间
            Date date= DateUtil.date(System.currentTimeMillis());
            System.out.println(date);
        }
    }
    

    image

  4. 获取当时间(字符串类型)

    public class HDateAndTime {
        public static void main(String[] args) {
            //获取当前时间
            String dateString=DateUtil.now();
            System.out.println(dateString);
        }
    }
    

    image

  5. 获取当前日期(字符串类型)

    public class HDateAndTime {
        public static void main(String[] args) {
            //格式化时间字符串,格式yyyy-MM-dd
            String today=DateUtil.today();
            System.out.println(today);
        }
    }
    

    image

  6. 日期/时间字符串转化为时间类型

    /**
     * yyyy/MM/dd HH:mm:ss
     * yyyy.MM.dd HH:mm:ss
     * yyyy年MM月dd日 HH时mm分ss秒
     * yyyy-MM-dd
     * yyyy/MM/dd
     * yyyy.MM.dd
     * HH:mm:ss
     * HH时mm分ss秒
     * yyyy-MM-dd HH:mm
     * yyyy-MM-dd HH:mm:ss.SSS
     * yyyyMMddHHmmss
     * yyyyMMddHHmmssSSS
     * yyyyMMdd
     * EEE, dd MMM yyyy HH:mm:ss z
     * EEE MMM dd HH:mm:ss zzz yyyy
     * yyyy-MM-dd'T'HH:mm:ss'Z'
     * yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
     * yyyy-MM-dd'T'HH:mm:ssZ
     * yyyy-MM-dd'T'HH:mm:ss.SSSZ
     *
     **/
    public class HDateAndTime {
        public static void main(String[] args) {
            String dateStr = "2021-12-12";
            Date date = DateUtil.parse(dateStr,"yyyy-MM-dd");
            System.out.println(date);
        }
    }
    

    image

  7. 把一个字符串时间格式化为不同的形式

    public class HDateAndTime {
        public static void main(String[] args) {
            String dateStr="2021-12-12";
            Date date=DateUtil.parse(dateStr);
            String format=DateUtil.format(date,"yyyy/MM/dd");
            System.out.println(format);
        }
    }
    

    image

  8. 只获取Date对象的某一个部分

    public class HDateAndTime {
        public static void main(String[] args) {
            Date date=DateUtil.date();
            System.out.println("date:"+date);
            Integer year=DateUtil.year(date);
            Integer month=DateUtil.month(date);
            Month monthEnum=DateUtil.monthEnum(date);
            System.out.println("year:"+year);
            System.out.println("month:"+month);
            System.out.println("monthEnum:"+monthEnum);
        }
    }
    

    image

  9. 时间日期偏移:日期或者时间的偏移针对对某一个日期增加或减少时,分,秒等等达到更变时间的效果。

    public class HDateAndTime {
        public static void main(String[] args) {
            String dateStr = "2017-03-01 22:23:33";
            Date date = DateUtil.parse(dateStr);
    
            System.out.println("date:" + date);
            Date date1 = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
            System.out.println("date时间推迟两天后为:"+date1);
            Date date2=DateUtil.offsetDay(date,3);
            System.out.println("date时间推迟3天后为:"+date2);
            //等等,非常的多.
        }
    }
    

    image

    image

  10. 获取最近几天的时间

    public class HDateAndTime {
        public static void main(String[] args) {
            //昨天
            System.out.println(DateUtil.yesterday());
            //今天
            System.out.println(DateUtil.today());
            //明天
            System.out.println(DateUtil.tomorrow());
            //上周
            System.out.println(DateUtil.lastWeek());
            //上月
            System.out.println(DateUtil.lastMonth());
            //下周
            System.out.println(DateUtil.nextWeek());
            //下月
            System.out.println(DateUtil.nextMonth());
        }
    }
    

    image

  11. 日期时间差

    public class HDateAndTime {
        public static void main(String[] args) {
            String dateStr1 = "2017-03-01 22:33:23";
            Date date1 = DateUtil.parseDate(dateStr1);
    
            String dateStr2 = "2021-12-12 12:12:12";
            Date date2 = DateUtil.parseDate(dateStr2);
    
            Long days = DateUtil.betweenDay(date1, date2, false);
            System.out.println("相差" + days + "天");
    
            Long months = DateUtil.betweenMonth(date1, date2, false);
            System.out.println("相差" + months + "月");
    
            Long years=DateUtil.betweenYear(date1,date2,false);
            System.out.println("相差" + years + "年");
        }
    }
    

    image

  12. 星座,属相,年龄,闰月

    public class HDateAndTime {
        public static void main(String[] args) {
            //星座
            System.out.println(DateUtil.getZodiac(11,27));
            //属相
            System.out.println(DateUtil.getChineseZodiac(1999));
            //年龄
            System.out.println(DateUtil.ageOfNow("1999-11-27"));
            //是否为闰年
            System.out.println(DateUtil.isLeapYear(1999));
        }
    }
    

image

13. 计时器工具

    ```java
    public class HDateAndTime {
        public static void main(String[] args) {
            //定义一个计时器
            TimeInterval timer = DateUtil.timer();
            //------------开始执行--------
            timer.start();
            for (int i = 0; i < 100000; i++) {
                Random r=new Random(10086);
                r.nextInt();
            }
            System.out.println(timer.interval());//花费毫秒数
            timer.intervalRestart();//返回花费时间,并充值时间
            timer.intervalMinute();//花费分钟数
        }
    }
    ```

   ![image](https://img2020.cnblogs.com/blog/2361214/202109/2361214-20210911012145196-1004206001.png)
posted @ 2021-09-11 01:23  LilyFlower  阅读(1515)  评论(0编辑  收藏  举报