DateUtils工具类的使用

例子见Github-JavaSE-Day04

常用方法

1.public static Date addDay(Date date, int n)
在日期上增加天数

1
2
3
Date d =  new Date();
System.out.println(d); // Thu Feb 04 11:06:09 CST 2021
System.out.println(DateUtils.addDay(d,20)); // Wed Feb 24 11:06:09 CST 2021

2.public static Date addMonth(Date date, int n)
在日期上增加数个整月

3.public static int countDays(String date)
按默认格式的字符串距离今天的天数
 public static int countDays(String date, String format)
按用户格式字符串距离今天的天数

1
2
System.out.println(DateUtils.countDays("2021-02-03 11:06:09")); // 1
System.out.println(DateUtils.countDays("2021-02-03","yyyy-MM-dd")); // 1

4.public static String date2Str(Calendar c) {// yyyy-MM-dd HH:mm:ss
 public static String date2Str(Calendar c, String format)
 public static String date2Str(Date d) {// yyyy-MM-dd HH:mm:ss
 public static String date2Str(Date d, String format)

1
2
3
4
5
6
7
Calendar c = Calendar.getInstance();
System.out.println(c.getTime());// Thu Feb 04 11:26:24 CST 2021
System.out.println(DateUtils.date2Str(c.getTime()));// 2021-02-04 11:26:24
System.out.println(DateUtils.date2Str(c.getTime(),"yyyy-MM"));// 2021-02

System.out.println(DateUtils.date2Str(new Date())); // 2021-02-04 11:19:33
System.out.println(DateUtils.date2Str(new Date(),"yyyy-MM-dd")); // 2021-02-04

5.public static String getCurDateStr()
获得当前日期的字符串格式
 public static String getCurDateStr(String format)

1
2
System.out.println(DateUtils.getCurDateStr());// 2021-2-4 11:28:53
System.out.println(DateUtils.getCurDateStr("yyyy-MM"));// 2021-02

6.public static String getDatePattern()
获得默认的 date pattern

1
System.out.println(DateUtils.getDatePattern()); //yyyy-MM-dd HH:mm:ss

7.public static int getDay(Date date)
返回日份

8.public static int getMonth(Date date)
返回月份

9.public static int getHour(Date date)
返回小时

10.public static int getMinute(Date date)
返回分钟

11.public static int getSecond(Date date)
返回秒钟

12.public static long getMillis(Date date)
返回date转换为毫秒的值,和date.getTime()相同

13.public static String getDay(long time)
返回当前的日期,格式yyyy-MM-dd

14.public static String getMillon(long time)
格式到秒
返回当前的日期,格式yyyy-MM-dd HH:mm:ss

15.public static String getSMillon(long time)
格式到毫秒
返回当前的日期,格式yyyy-MM-dd HH:mm:ss.SSS

16.public static String getTimeString()
获取时间戳,格式yyyy-MM-dd HH:mm:ss.SSS

public static String getNextHour(String format, int h)
获取距现在某h小时的时刻

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Date d1 =  new Date(); //Thu Feb 04 11:53:36 CST 2021
System.out.println(DateUtils.getDay(d1)); // 4
System.out.println(d1.getTime()); //1612410816115
System.out.println(DateUtils.getDay(d1.getTime())); // 2021-02-04
System.out.println(DateUtils.getMonth(d1)); // 2
System.out.println(DateUtils.getHour(d1) + ":"+ DateUtils.getMinute(d1) +":"+DateUtils.getSecond(d1)); // 11:53:36
//2021-02-04 11:53:36
//2021-02-04 11:53:36.115
System.out.println(DateUtils.getMillon(d1.getTime())+"\n"+
DateUtils.getSMillon(d1.getTime()));
System.out.println(DateUtils.getMillis(d1)); //1612410816115

System.out.println(DateUtils.getTimeString()); // 2021-02-04 11:53:36.115
System.out.println(DateUtils.getNextHour("yyyy-MM-dd HH:mm:ss",-2)); // 2021-02-04 09:53:36

17.public static Date parse(String strDate)
使用预设格式提取字符串日期
 public static Date parse(String strDate, String pattern)
使用用户格式提取字符串日期

1
2
System.out.println(DateUtils.parse("2021-02-04 10:03:59")); // Thu Feb 04 10:03:59 CST 2021
System.out.println(DateUtils.parse("2021-02-04","yyyy-MM-dd")); // Thu Feb 04 00:00:00 CST 2021

18.public static Calendar str2Calendar(String str)
 public static Calendar str2Calendar(String str, String format)
将str转换成Calendar

19.public static Date str2Date(String str)
 public static Date str2Date(String str, String format)
将str转换成Date

和parse()类似,不同的是,str2Date()可以传入null或者””,返回null,而parse()会报错。

1
2
3
4
5
6
7
8
9
System.out.println(DateUtils.parse("2021-02-04 10:03:59")); // Thu Feb 04 10:03:59 CST 2021
System.out.println(DateUtils.parse("2021-02-04","yyyy-MM-dd")); // Thu Feb 04 00:00:00 CST 2021
// System.out.println(DateUtils.parse("")); // 报错

System.out.println(DateUtils.str2Calendar("2021-02-04 10:08:50").getTime()); // Thu Feb 04 10:08:50 CST 2021
System.out.println(DateUtils.str2Calendar("2021-02-04 10:08:50","yyyy-MM-dd").getTime());// Thu Feb 04 00:00:00 CST 2021
System.out.println(DateUtils.str2Date("2021-02-04 10:08:50"));// Thu Feb 04 10:08:50 CST 2021
System.out.println(DateUtils.str2Date("2021-02-04 10:08:50","yyyy-MM-dd"));// Thu Feb 04 00:00:00 CST 2021
System.out.println(DateUtils.str2Date("")); // null