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 ...
随机推荐
- 杂论-FTP
FTP 一 简单介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时, ...
- 【机制】js的闭包、执行上下文、作用域链
1.从闭包说起 什么是闭包 一个函数和对其周围状态(词法环境)的引用捆绑在一起,这样的组合就是闭包. 也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域. 在 JavaScript 中,每 ...
- STM32通过rosserial接入ROS通讯开发
作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 前言 主题:串口是一种设备间常用的通讯接口,rosserial将串口字符数据转发到标准ROS网络,并输出到rosout和其日志文件.本文将 ...
- 加快你ROS安装的一篇文章
前言: 首先ROS大家应该比较熟悉了哈,如果需要补充一下请看我之前的这篇文章 <嵌入式的我们为什么要学ROS>,对于嵌入式来说ROS是一个很好的进阶方向,所以如何快速的安装一个ROS到我们 ...
- A - A Gifts Fixing
t组询问,每次给出数列长度n 以及两个长度为n的数列{ai}和{bi}. 有三种操作:ai−1, bi−1以及ai,bi同时− 1 -1−1. 问最少多少步以后可以让两个数列变成常数数列. ...
- 动态规划TG.lv(1) (洛谷提高历练地)
动态规划TG.lv(1) P1005 矩阵取数游戏 分析:每行不超过80个数字,直接区间DP即可,\(dp[i][j]\)表示区间\([i,j]\)之间取数可以得到的答案,每次向右或者向左扩展即可.但 ...
- Codeforces Round #636div3 D. Constant Palindrome Sum (划分区间,差分)
题意:给你一个长度为偶数n的数组,每次可以将一个元素修改为不大于k的值,要求每个a[i]+a[n-i+1]都相等,求最少操作多少次 题解:假设每一对的和都为sum,小的记为mn,大的记为mx; ...
- k8s-2-集成apollo配置中心
主题: 在k8s中集成Apollo配置中心 架构图 一.配置中心概述 配置的几种方式 本课讲得是基于配置中心数据库实现 配置管理的现状 常见的配置中心 主讲:k8s configmap,apollo ...
- PDF transform to PPT online & free
PDF transform to PPT online & free > Speaker Deck Share Presentationswithout the Mess Speaker ...
- Next.js Conf 2020
Next.js Conf 2020 Next.js Conf Ticket https://nextjs.org/conf Conf Schedule https://confs.tech/javas ...