码迷,mamicode.com
首页 > 其他好文 > 详细

hutool的DateUtil工具类

时间:2021-04-15 12:45:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:gif   href   ddl   复制   isl   htm   last   between   时间差   

1.0、DateUitl(日期时间)

0)坐标

<dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.3.9</version>
    </dependency>

 

1)date方法获取当前Date类型的日期时间(格式:yyyy-MM-dd HH:mm:ss)

Date date = DateUtil.date(); // 2020-09-14 10:27:06
// Calendar类型转Date类型       
Date date2 = DateUtil.date(Calendar.getInstance()); // 2020-09-14 10:27:07
// 毫秒值转Date类型
Date date3 = DateUtil.date(System.currentTimeMillis()); // 2020-09-14 10:27:07

以上三种方式都可以获取格式化的date时间

2)now方法获取当前字符串类型的日期时间

//当前时间字符串,格式:yyyy-MM-dd HH:mm:ss
String now = DateUtil.now(); // 2020-09-14 10:22:46
//当前日期字符串,格式:yyyy-MM-dd
String today= DateUtil.today(); // 2020-09-14

3)parse方法将字符串类型日期解析为Date类型日期

技术图片
// 将字符串格式的日期解析成Date格式
String dateStr = "2017-03-01"; // 2017-03-01 00:00:00 Date date = DateUtil.parse(dateStr);
// 将字符串格式的日期解析成Date格式
String dateStr2 = "2017-03-01 23:20:23";
Date date2 = DateUtil.parse(dateStr2); // 2017-03-01 23:20:23
// 将字符串格式的日期解析成指定的Date格式
Date date3 = DateUtil.parse(dateStr2, "yyyy-MM-dd"); // 2017-03-01 00:00:00
 
技术图片

 

4)format方法将字符串类型日期格式化为字符串类型日期

技术图片
// 当前Date格式时间
Date date = DateUtil.date(); // 格式化为指定格式的字符串 String format = DateUtil.format(date, "yyyy/MM/dd");//结果:2020/07/16 // 格式化为日期格式字符串 String formatDate = DateUtil.formatDate(date);//结果:2020-07-16 // 格式化为日期时间格式字符串 String formatDateTime = DateUtil.formatDateTime(date);//结果:2020-07-16 20:22:54 // 格式化为时间格式字符串 String formatTime = DateUtil.formatTime(date);//结果:20:22:54
技术图片

5)year方法和month方法获取Date类型日期的年份和月份

Date date = DateUtil.date();
//获得年的部分
int year = DateUtil.year(date);
//获得月份,从0开始计数
int month = DateUtil.month(date)+1;

6)beginOfDay方法和endOfMonth方法获取某天/某月的开始或结束时间

技术图片
Date date = DateUtil.date();
//一天的开始,结果:2017-03-01 00:00:00
Date beginOfDay = DateUtil.beginOfDay(date);
//一天的结束,结果:2017-03-01 23:59:59
Date endOfDay = DateUtil.endOfDay(date);
//一月的开始,结果:2017-03-01 00:00:00
Date beginOfMonth = DateUtil.beginOfMonth(date);
//一月的结束,结果:2017-03-31 23:59:59
Date endOfMonth = DateUtil.endOfMonth(date);
技术图片

项目中代码使用:在项目中,前端传递一个对象{date:[‘2020-10-07‘,‘2020-11-07‘]}(对象张有数组元素,数组中包含开始日期和结束日期)到后台,后台用字符串String(‘2020-10-07‘,‘2020-11-07‘)接收,对字符串用逗号分割之后,再使用beginOfDay和endOfDay获取开始日期的开始时间和结束日期的结束时间。

技术图片
public Result getList(String date) {
        Date now = null;
        Date last = null;
        String split[] = date.split(",");//获取查询日期的开始时间,00:00:00
        last = DateUtil.beginOfDay(DateUtil.parse(split[0]));
        //获取查询日期的结束时间,23:59:59
        now = DateUtil.endOfDay(DateUtil.parse(split[1]));
       。。。。。
}
技术图片

7)offsetHour方法和offsetDay方法获取时间偏移(向前或向后)

技术图片
Date date = DateUtil.date();
//获取三个小时前的时间,结果:2017-03-01 19:33:23
Date newDate = DateUtil.offsetHour(date, -3);
//获取三个小时后的时间
Date date = DateUtil.offsetHour(date,3); //获取三天后的时间,结果:2017-03-04 22:33:23 Date newDate2 = DateUtil.offsetDay(date, 3); //获取三天前的时间,结果:2017-03-04 22:33:23 Date newDate3 = DateUtil.offsetDay(date, -3); //昨天 Date yesterday = DateUtil.yesterday(); //明天 Date tomorrow = DateUtil.tomorrow(); //上周 Date Date = DateUtil.lastWeek(); //下周 Date Date1 = DateUtil.nextWeek(); //上个月 Date Date2 = DateUtil.lastMonth(); //下个月 Date Date3 = DateUtil.nextMonth();
技术图片

8)between方法获取日期天数差和小时差

技术图片
String dateStr1 = "2017-03-01 22:33:23";
Date date1 = DateUtil.parse(dateStr1);
String dateStr2 = "2017-05-01 23:33:23";
Date date2 = DateUtil.parse(dateStr2);
String dateStr3 = "2017-03-02 20:23:35";
Date date3 = DateUtil.parse(dateStr3);

//两个时间段相差的天数
long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY);
//两个时间段相差的小时
long betweenHour = DateUtil.between(date1, date3, DateUnit.HOUR);

//格式化时间差,精确到分
String s = DateUtil.formatBetween(betweenDay, BetweenFormater.Level.MINUTE);
技术图片

9)其他

 //年龄
int age = DateUtil.ageOfNow("1990-01-30");

//是否闰年
boolean leapYear = DateUtil.isLeapYear(2017);

hutool的DateUtil工具类

标签:gif   href   ddl   复制   isl   htm   last   between   时间差   

原文地址:https://www.cnblogs.com/yao5758/p/14660886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!