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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM