doc

介绍

日期时间包是Hutool的核心包之一,提供针对JDK中Date和Calendar对象的封装,封装对象如下:

日期时间工具

日期枚举

考虑到Calendar类中表示时间的字段(field)都是使用int表示,在使用中非常不便,因此针对这些int字段,封装了与之对应的Enum枚举类,这些枚举类在DateUtilDateTime相关方法中做为参数使用,可以更大限度的缩小参数限定范围。

这些定义的枚举值可以通过getValue()方法获得其与Calendar类对应的int值,通过of(int)方法从Calendar中int值转为枚举对象。

Calendar对应的这些枚举包括:

月份枚举

通过月份枚举可以获得某个月的最后一天

// 31
int lastDay = Month.of(Calendar.JANUARY).getLastDay(false);

另外,Hutool还定义了季度枚举。Season.SPRING为第一季度,表示1~3月。季度的概念并不等同于季节,因为季节与月份并不对应,季度常用于统计概念。

时间枚举

时间枚举DateUnit主要表示某个时间单位对应的毫秒数,常用于计算时间差。

例如:DateUnit.MINUTE表示分,也表示一分钟的毫秒数,可以通过调用其getMillis()方法获得其毫秒数。