日期时间包是Hutool的核心包之一,提供针对JDK中Date和Calendar对象的封装,封装对象如下:
日期时间工具
DateUtil 针对日期时间操作提供一系列静态方法
DateTime 提供类似于Joda-Time中日期时间对象的封装,继承自Date类,并提供更加丰富的对象方法。
FastDateFormat 提供线程安全的针对Date对象的格式化和日期字符串解析支持。此对象在实际使用中并不需要感知,相关操作已经封装在DateUtil和DateTime的相关方法中。
DateBetween 计算两个时间间隔的类,除了通过构造新对象使用外,相关操作也已封装在DateUtil和DateTime的相关方法中。
TimeInterval 一个简单的计时器类,常用于计算某段代码的执行时间,提供包括毫秒、秒、分、时、天、周等各种单位的花费时长计算,对象的静态构造已封装在DateUtil中。
DatePattern 提供常用的日期格式化模式,包括String类型和FastDateFormat两种类型。
日期枚举
考虑到Calendar类中表示时间的字段(field)都是使用int表示,在使用中非常不便,因此针对这些int字段,封装了与之对应的Enum枚举类,这些枚举类在DateUtil和DateTime相关方法中做为参数使用,可以更大限度的缩小参数限定范围。
这些定义的枚举值可以通过getValue()方法获得其与Calendar类对应的int值,通过of(int)方法从Calendar中int值转为枚举对象。
与Calendar对应的这些枚举包括:
Month 表示月份,与Calendar中的int值一一对应。
Week 表示周,与Calendar中的int值一一对应
月份枚举
通过月份枚举可以获得某个月的最后一天
// 31
int lastDay = Month.of(Calendar.JANUARY).getLastDay(false);
另外,Hutool还定义了季度枚举。Season.SPRING为第一季度,表示1~3月。季度的概念并不等同于季节,因为季节与月份并不对应,季度常用于统计概念。
时间枚举
时间枚举DateUnit主要表示某个时间单位对应的毫秒数,常用于计算时间差。
例如:DateUnit.MINUTE表示分,也表示一分钟的毫秒数,可以通过调用其getMillis()方法获得其毫秒数。
标签:DateUtil,core,封装,int,Hutool,日期,枚举,Calendar From: https://www.cnblogs.com/velloLei/p/18247511