hutool的DateUtil工具类
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工具类的更多相关文章
- hutool的时间工具类
		
hutool的时间工具类 糊涂的时间工具类有很多使用方法,用到了这几个 日期向后偏移 String now = DateUtil.now(); Date date4= DateU ...
 - hutool包的DateUtil工具类
		
[首先引入依赖 ] <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core& ...
 - DateUtil工具类
		
package com.autoserve.mh.common.util; import java.text.SimpleDateFormat; import java.util.Calendar ...
 - 邓博泽 java最全的DateUtil工具类
		
package com.kld.yijie.web.util; import org.slf4j.Logger;import org.slf4j.LoggerFactory; import java. ...
 - 03-自己封装DateUtil工具类
		
package com.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.u ...
 - JAVA DateUtil 工具类封装(转)
		
原文链接 https://blog.csdn.net/wangpeng047/article/details/8295623 作者三次整理后的代码 下载链接 https://www.lanzou ...
 - Hutool中那些常用的工具类和方法
		
Hutool中那些常用的工具类和方法 Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子.如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有.本文将对Hu ...
 - Java中的工具类究竟如何命名?
		
先来几个例子 JDK自带工具类 Arrays.asList(); Objects.equals(); Collections.sort(); Spring框架工具类 StringUtils.isEmp ...
 - 【Hutool】工具类之日期时间工具-DateUtil
		
日期时间工具类 一.依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-al ...
 
随机推荐
- (14)Linux绝对路径和相对路径
			
Linux 系统中,文件是存放在目录中的,而目录又可以存放在其他的目录中,因此,用户(或程序)可以借助文件名和目录名,从文件树中的任何地方开始,搜寻并定位所需的目录或文件. 说明目录或文件名位置的方法 ...
 - 秒啊,速来get这9个jupyter实用技巧
			
1 简介 jupyter notebook与jupyter lab作为广受欢迎的ide,尤其适合开展数据分析相关工作,而掌握它们相关的一些实用技巧,势必会大大提升日常工作效率.而今天我就来给大家介绍9 ...
 - allure生成的报告打开后显示loading
			
allure生成的报告打开后显示loading,怎么办? 1. allure生成报告的命令 1.1.生成测试数据 # 命令格式:pytest 相关参数 指定执行的用例 --alluredir=数据存放 ...
 - 【C#】对两张图片进行矩阵运算会怎么样?
			
对两张图片进行矩阵运算会怎么样? 在学习<线性代数>的矩阵运算时,突然想到图片也可以算是一种矩阵,那么对图片进行矩阵的运算会出现什么样的效果呢?为了满足好奇,便用C#写了个对图片进行矩阵运 ...
 - c++ stl nth_element 原理解析
			
nth_element是stl中的一个库函数,它会使迭代器nth所指的元素与整个[first,last)完整排序后.同一个位置的元素同值.即找到完整排序时第n位的正确值. 但这个函数与完整排序的区别在 ...
 - 【noi 2.6_3531】判断整除(DP)
			
题意:给一个正整数数列,可将其相加或相减,问是否有一个结果能被K整除. 解法:似上一题"糖果"的状态定义,f[i][j]表示是否有一个选了前 i 个数的结果模K余j. P.S. 可 ...
 - KMP && Manacher && 扩展KMP整理
			
KMP算法: kmp示例代码: void cal_next(char *str, int *next, int len) { next[0] = -1;//next[0]初始化为-1,-1表示不存在相 ...
 - WSL (Windows Subsystem for Linux) 的 VSLAM (Visual Simultaneous Localization and Mapping) 道路
			
WSL 的 VSLAM 道路 以 Windows Subsystem for Linux 闯入 Visual Simultaneous Localization and Mapping 世界的艰难道路 ...
 - pthread_create函数
			
函数简介 pthread_create是UNIX环境创建线程函数 头文件 #include<pthread.h> 函数声明 int pthread_create(pthread_t *re ...
 - 指纹采集器Live 20R
			
最近有个项目需要使用指纹采集器Live 20R,买来这个小玩意后不知道怎么用,看了一些教程和自己摸索了一下,才初步掌握了用的方法. 环境: 硬件:联想 小新 操作系统:Win 10 IDE:VS201 ...