【Hutool】Hutool工具类之日期时间工具——DateUtil
一、用于取代Date对象的DateTime对象
再也不用Date SimpleDateFormat Calendar之间倒腾来倒腾去了!日期创建-获取-操作一步到位!
如果JDK版本更新到了8及以上,不妨尝试新的时间日期API(参见JDK8新特性随笔篇)
学习一个类的基本方式是了解其获取方式(构造器),与常用方法(API)
以下是引用自官网示例的Demo:
public static void main(String[] args) {
DateTime dateTime = new DateTime("2017-9-14 21:55:18", "yyyy-MM-dd HH:mm:ss");
// 获取日期成员(年、季度、月、日)
int year = dateTime.year();// 年
System.out.println("year = " + year);
int season = dateTime.season();// 季度
System.out.println("season = " + season);
int month = dateTime.month();// 月份
System.out.println("month = " + month);
int dayOfWeek = dateTime.dayOfWeek();// 周几
System.out.println("dayOfWeek = " + dayOfWeek);
int dayOfMonth = dateTime.dayOfMonth();// 此月第N天
System.out.println("dayOfMonth = " + dayOfMonth);
// 调整日期时间
DateTime dateTime1 = dateTime.offset(DateField.DAY_OF_MONTH, -1);
System.out.println(dateTime1.toString());
}
结果:
二、强大的日期时间工具类——DateUtil
1.解析——字符串解析为日期
public static void main(String[] args) {
// 日期字符串请补全为2位数字
String str1 = "2017-09-14";
String str2 = "2017-09-14 21:03:01";
// 自动感应格式
Date date1 = DateUtil.parse(str1);
Date date2 = DateUtil.parse(str2);
System.out.println("date1:"+date1);
System.out.println("date2:"+date2);
// 手动设置格式(其中DateTime是可以完全替代Date的一个子类)
DateTime dateTime1 = DateUtil.parse(str1, "yyyy-MM-dd");
DateTime dateTime2 = DateUtil.parse(str2, "yyyy-MM-dd HH:mm:ss");
System.out.println(dateTime1);
System.out.println(dateTime2);
}
2.格式化——将日期格式化为字符串
public static void main(String[] args) {
// 日期字符串请补全为2位数字
String str1 = "2017-09-14";
// 自动感应格式
Date date1 = DateUtil.parse(str1);
// 格式化为指定格式字符串
String s1 = DateUtil.format(date1, "yyyy年MM月dd日");
System.out.println("s1 = " + s1);
// 常用格式格式化
String s2 = DateUtil.formatDate(date1);
System.out.println("s2 = " + s2);
}
结果:
3.获取日期成员(对比DateTime的操作)
public static void main(String[] args) {
// 日期字符串请补全为2位数字
String str1 = "2017-09-14";
// 自动感应格式
Date date1 = DateUtil.parse(str1);
// 获取指定日期成员(通过DateTime同样可以完成)
int year = DateUtil.year(date1);
System.out.println("year = " + year);
int dayOfMonth = DateUtil.dayOfMonth(date1);
System.out.println("dayOfMonth = " + dayOfMonth);
}
结果:
4.日期时间偏移
public static void main(String[] args) {
// 日期字符串请补全为2位数字
String str1 = "2017-09-14";
// 自动感应格式
Date date1 = DateUtil.parse(str1);
// 日期时间偏移
DateTime dateTime = DateUtil.offset(date1, DateField.HOUR_OF_DAY, 5);
System.out.println("dateTime = " + dateTime);
DateTime dateTime1 = DateUtil.offsetDay(date1, 1);
System.out.println("dateTime1 = " + dateTime1);
}
结果:
针对当前时间的简化偏移操作:
public static void main(String[] args) {
// 当前时间的简化偏移方法
String now = DateUtil.now();
System.out.println("now = " + now);
// 昨天
DateTime yesterday = DateUtil.yesterday();
System.out.println("yesterday = " + yesterday);
// 明天
DateTime tomorrow = DateUtil.tomorrow();
System.out.println("tomorrow = " + tomorrow);
// 上周
DateTime lastWeek = DateUtil.lastWeek();
System.out.println("lastWeek = " + lastWeek);
// 下月
DateTime nextMonth = DateUtil.nextMonth();
System.out.println("nextMonth = " + nextMonth);
}
结果:
5.其它:
public static void main(String[] args) {
// 距今年龄
int age = DateUtil.ageOfNow("2008-12-22");
System.out.println("age = " + age);
// 是否闰年
boolean leapYear = DateUtil.isLeapYear(2017);
System.out.println("leapYear = " + leapYear);
}
结果:
【Hutool】Hutool工具类之日期时间工具——DateUtil的更多相关文章
- 【Hutool】工具类之日期时间工具-DateUtil
日期时间工具类 一.依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-al ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- 基于Java8的日期时间工具类DateTimeFormatter
原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...
- Apache Commons Lang之日期时间工具类
码农不识Apache,码尽一生也枉然. FastDateFormat FastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat.因为是线程安全的,所 ...
- Java 8——日期时间工具库(java.time)
一.前言 在介绍Java SE 8中新的日期时间库前,先了解下Java 8之前的日期时间工具的诟病. 在Java SE 8前,日期时间工具库在java.util包中,包括: java.util.Dat ...
- Java基础——常用类之日期时间类
如果有机会,请尝试Java8中全新的时间日期API!(参见Java8新特性随笔) 如果还是使用Java7及之前的版本,那么你可以尝试一些工具类(参考使用工具类相关的Hutool-DateUtil) 如 ...
- Redis操作字符串工具类封装,Redis工具类封装
Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...
- Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...
- Redis操作Hash工具类封装,Redis工具类封装
Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...
随机推荐
- webbench 网站压力测试
[root@localhost ~]# webbench -c 500 -t 4 http://172.24.61.41/Webbench - Simple Web Benchmark 1.5Copy ...
- Android启动外部应用的方法
1.根据package的名称获取应用的Launch Intent Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage ...
- ZT I Believe I Can Fly(我相信我能飞)
I Believe I Can Fly(我相信我能飞) 歌手:R. Kelly(罗 凯利) 歌词部分 I used to think that I could not go on 我原以为我无法坚持下 ...
- 理解活在IPHONE中的那些APP (五)
为了让App活起来 上一篇简单的说了一下关于IOS的一些事情,现在有必要深入了解一些对于让App活起来比较关键的信息.比如IOS系统的架构,这个我就不赘述了,请移步http://blog.csdn.n ...
- video设置视频的播放位置(本例中实现效果是视频第一次播放完成后,接下来中从视频的中间部位开始循环播放)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Hive分区表创建,增加及删除
1.创建Hive分区表,按字段分区 CREATE TABLE test1 ( id bigint , create_time timestamp , user_id string) partition ...
- javascript第一课
JavaScript 一個完整的JavaScript實現由以下三個不同的部分組成 ECMAScript(ECMA歐洲計算機製造商協會):規定了這門語言的語法,類型,語句,關鍵字,保留字,操作符,對象等 ...
- SpringBoot实战(六)之使用LDAP验证用户
关于ubuntu16.04服务器安装配置LDAP参考链接为:https://www.howtoing.com/how-to-install-and-configure-openldap-and-php ...
- [转]基于C#的开源GIS项目介绍之SharpMap篇
我是一个刚毕业的GIS本科毕业生,目前在杭州从事GIS软件应用开发.在项目开发中总感觉自己的编程水平还不够,于是想找些开源GIS小项目来研究研究,借以提高自己的编程能力和项目开发能力.在网上搜了一下“ ...
- 安装Centos 7 错误解决
dracut-initqueue[624]:Warning: Could not boot. dracut-initqueue[624]:Warning: /dev/root does not exi ...