0
点赞
收藏
分享

微信扫一扫

Hutool 常用工具类介绍-DateUtil

犹大之窗 2022-05-06 阅读 56

前言

日期格式转化及计算,比较使我们最常用的功能,现就工具类用法归结如下

字符串转日期

DateUtil.parse 方法
在这里插入图片描述
DateUtil.parse 方法会自动识别一些常用格式,包括:

yyyy-MM-dd HH:mm:ss

yyyy/MM/dd HH:mm:ss

yyyy.MM.dd HH:mm:ss

yyyy年MM月dd日 HH时mm分ss秒

yyyy-MM-dd yyyy/MM/dd

yyyy.MM.dd HH:mm:ss

HH时mm分ss秒

yyyy-MM-dd HH:mm

yyyy-MM-dd HH:mm:ss.SSS

yyyyMMddHHmmss

yyyyMMddHHmmssSSS

yyyyMMdd

EEE, dd MMM yyyy HH:mm:ss z

EEE MMM dd HH:mm:ss zzz yyyy

yyyy-MM-dd’T’HH:mm:ss’Z’

yyyy-MM-dd’T’HH:mm:ss.SSS’Z’

yyyy-MM-dd’T’HH:mm:ssZ

yyyy-MM-dd’T’HH:mm:ss.SSSZ

方法描述
cn.hutool.core.date.DateUtil.parseLocalDateTime(java.lang.CharSequence)

构建LocalDateTime对象
格式:yyyy-MM-dd HH:mm:ss

cn.hutool.core.date.DateUtil.parseLocalDateTime(java.lang.CharSequence, java.lang.String)

构建LocalDateTime对象

cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.text.DateFormat)

构建DateTime对象

cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, cn.hutool.core.date.format.DateParser)

构建DateTime对象

cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)

构建DateTime对象

cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.lang.String)

将特定格式的日期转换为Date对象

cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence, java.lang.String, java.util.Locale)

将特定格式的日期转换为Date对象

cn.hutool.core.date.DateUtil.parse(java.lang.String, java.lang.String[])

通过给定的日期格式解析日期时间字符串。
传入的日期格式会逐个尝试,直到解析成功,
返回{@link DateTime}对象,否则抛出{@link DateException}异常。

cn.hutool.core.date.DateUtil.parseDateTime(java.lang.CharSequence)

解析日期时间字符串,格式支持:

 yyyy-MM-dd HH:mm:ss 
yyyy/MM/dd HH:mm:ss
yyyy.MM.dd HH:mm:ss
yyyy年MM月dd日 HH:mm:ss

cn.hutool.core.date.DateUtil.parseDate(java.lang.CharSequence)

解析日期字符串,忽略时分秒,支持的格式包括:

 yyyy-MM-dd yyyy/MM/dd yyyy.MM.dd yyyy年MM月dd日 

cn.hutool.core.date.DateUtil.parseTime(java.lang.CharSequence)

解析时间,格式HH:mm:ss,日期部分默认为1970-01-01

cn.hutool.core.date.DateUtil.parseTimeToday(java.lang.CharSequence)

解析时间,格式HH:mm 或 HH:mm:ss,日期默认为今天

cn.hutool.core.date.DateUtil.parseUTC(java.lang.String)

解析UTC时间,格式:

  1. yyyy-MM-dd’T’HH:mm:ss’Z’
  2. yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
  3. yyyy-MM-dd’T’HH:mm:ssZ
  4. yyyy-MM-dd’T’HH:mm:ss.SSSZ

cn.hutool.core.date.DateUtil.parseCST(java.lang.CharSequence)

解析CST时间,格式:

  1. EEE MMM dd HH:mm:ss z yyyy
    (例如:Wed Aug 01 00:00:00 CST 2012)

cn.hutool.core.date.DateUtil.parse(java.lang.CharSequence)

将日期字符串转换为{@link DateTime}对象,格式:

  1. yyyy-MM-dd HH:mm:ss
  2. yyyy/MM/dd HH:mm:ss
  3. yyyy.MM.dd HH:mm:ss
  4. yyyy年MM月dd日 HH时mm分ss秒
  5. yyyy-MM-dd
  6. yyyy/MM/dd
  7. yyyy.MM.dd
  8. HH:mm:ss
  9. HH时mm分ss秒
  10. yyyy-MM-dd HH:mm
  11. yyyy-MM-dd HH:mm:ss.SSS
  12. yyyyMMddHHmmss
  13. yyyyMMddHHmmssSSS
  14. yyyyMMdd
  15. EEE, dd MMM yyyy HH:mm:ss z
  16. EEE MMM dd HH:mm:ss zzz yyyy
  17. yyyy-MM-dd’T’HH:mm:ss’Z’
  18. yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
  19. yyyy-MM-dd’T’HH:mm:ssZ
  20. yyyy-MM-dd’T’HH:mm:ss.SSSZ

// 测试字符串与LocalDateTime的互相转换
        String strDate = "2022-12-01 17:02:30";
        LocalDateTime ldt = DateUtil.parseLocalDateTime(strDate);
        String strDate1 = DateUtil.formatLocalDateTime(ldt);
        System.out.println(ldt);
        System.out.println(strDate1);

        String strDate2 = "2022-12-01 17:02:30.111";
        ldt = DateUtil.parseLocalDateTime(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN);
        strDate2 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN);
        System.out.println(ldt);

----------------------------1
2022-05-06 00:00:00
----------------------------1
2022-12-01T17:02:30
2022-12-01 17:02:30
2022-12-01T17:02:30.111
2022-12-01 17:02:30

举报

相关推荐

0 条评论