org.apache.commons.lang3.DateUtils是Apache提供的时间工具类。
<!-- StringUtils、NumberUtils等工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
字符串转日期
parseDate()和parseDateStrictly()区别是:
parseDateStrictly()会严格校验时间格式,如示例中7月是没有32日的,所以会转换错误,而parseDate()可以正常转换,并不会报错。
Date date = DateUtils.parseDate("20230732010101", "yyyyMMddHHmmss");
//输出:20230801010101
Date date = DateUtils.parseDateStrictly("20230732010101", "yyyyMMddHHmmss");
//输出:java.text.ParseException: Unable to parse the date: 20230732010101
日期转字符串
DateFormatUtils.format(new Date(), "yyyyMMddHHmmss")
//输出:20230728155345
指定时间加减指定数量个周期
Date date = DateUtils.addDays(new Date(), 1);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20230729155137
Date date = DateUtils.addYears(new Date(), 1);
//输出:20240728155217
设置指定时间
Date date = DateUtils.setDays(new Date(), 10);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20230710155834
Date date = DateUtils.setMinutes(new Date(), 10);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20230728151009
根据指定时间获取一个时间范围
第一个参数是目标日期。
第二个参数是控制时间范围的,即:是周范围还是月范围,是将目标日期作为起始日期,还是中心日期。
//以当前时间为起始日期,以一周后日期为终止日期
Iterator<Calendar> it = DateUtils.iterator(new Date(), DateUtils.RANGE_WEEK_RELATIVE);
while(it.hasNext()) {
Calendar c = it.next();
System.out.println(DateFormatUtils.format(c.getTime(), "yyyyMMddHHmmss"));
}
//输出:
//20230728000000
//20230729000000
//20230730000000
//20230731000000
//20230801000000
//20230802000000
//20230803000000
判断两日期是否同天
//判断两日期是否同天
boolean same = DateUtils.isSameDay(new Date(), new Date());
//输出:true
//判断两日期是否同毫秒
boolean same = DateUtils.isSameInstant(new Date(), new Date());
//输出:true
获取日期上限
如果日期时间为2023年7月28日13:45:01:231,上限周期设置为HOUR,获取目标时间是:2023年7月28日14:00:00.000;如果上限周期是MONTH,获取目标时间是:2023年8月1日0:00:00.000。
Date date = DateUtils.ceiling(new Date(), Calendar.YEAR);
DateFormatUtils.format(date, "yyyyMMddHHmmss");
//输出:20240101000000
标签:DateUtils,date,Date,日期,apache,new,工具,yyyyMMddHHmmss From: https://www.cnblogs.com/xfeiyun/p/17857419.html