2hutool实战:DateUtil-常用的时间类型转换
技术活,该赏
关注+一键三连(点赞,评论,收藏)再看,养成好习惯
- 1
- 2
用途:常用的时间类型转换
使用场景
常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换
项目引用
此博文的依据:hutool-5.6.5版本源码
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.6.5</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
方法摘要
方法 | 描述 |
---|---|
cn.hutool.core.date.DateUtil.dateNew(java.util.Date) |
根据已有{@link Date} 产生新的{@link DateTime}对象
|
cn.hutool.core.date.DateUtil.date(long) |
Long类型时间转为{@link DateTime}<br> 只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000
|
cn.hutool.core.date.DateUtil.date(java.util.Calendar) |
{@link Calendar}类型时间转为{@link DateTime}<br> 始终根据已有{@link Calendar} 产生新的{@link DateTime}对象
|
cn.hutool.core.date.DateUtil.date(java.time.temporal.TemporalAccessor) |
{@link TemporalAccessor}类型时间转为{@link DateTime}<br> 始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象
|
方法明细
方法名称:cn.hutool.core.date.DateUtil.date(java.util.Date)
方法描述
{@link Date}类型时间转为{@link DateTime}<br>
如果date本身为DateTime对象,则返回强转后的对象,否则新建一个DateTime对象
支持版本及以上
3.0.7
参数描述:
参数名 | 描述 |
---|---|
Date date |
date Long类型Date(Unix时间戳)
|
返回值:
时间对象
参考案例:
//如果date本身为DateTime对象,则返回强转后的对象,否则新建一个DateTime对象
Date date1 = DateUtil.date(new Date());
Assert.assertNotNull(date1);
Date date2 = DateUtil.date(DateUtil.date());
Assert.assertNotNull(date2);
- 1
- 2
- 3
- 4
- 5
- 6
源码解析:
2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换
方法明细
方法名称:cn.hutool.core.date.DateUtil.dateNew(java.util.Date)
方法描述
根据已有{@link Date} 产生新的{@link DateTime}对象
支持版本及以上
4.3.1
参数描述:
参数名 | 描述 |
---|---|
Date date |
date Date对象
|
返回值:
{@link DateTime}对象
参考案例:
//根据已有{@link Date} 产生新的{@link DateTime}对象
Date nowDate = new Date();
System.out.println(nowDate.toString());
Date date5 = DateUtil.dateNew(new Date());
System.out.println(date5.toString());
Assert.assertNotNull(date5);
- 1
- 2
- 3
- 4
- 5
- 6
源码解析:
2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换
方法明细
方法名称:cn.hutool.core.date.DateUtil.date(long)
方法描述
Long类型时间转为{@link DateTime}<br>
只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
long date |
date Long类型Date(Unix时间戳)
|
返回值:
时间对象
参考案例:
//只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000
Date date6 = DateUtil.date(System.currentTimeMillis());
System.out.println(date6);
Assert.assertNotNull(date6);
- 1
- 2
- 3
- 4
源码解析:
2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换
方法明细
方法名称:cn.hutool.core.date.DateUtil.date(java.util.Calendar)
方法描述
{@link Calendar}类型时间转为{@link DateTime}<br>
始终根据已有{@link Calendar} 产生新的{@link DateTime}对象
支持版本及以上
参数描述:
参数名 | 描述 |
---|---|
Calendar calendar |
calendar {@link Calendar}
|
返回值:
时间对象
参考案例:
//DateTime 和 Calendar的转换
DateTime date7 = DateUtil.date();
Calendar calendar = date7.toCalendar();
DateUtil.date(calendar);
Assert.assertNotNull(date7);
- 1
- 2
- 3
- 4
- 5
源码解析:
2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换
方法明细
方法名称:cn.hutool.core.date.DateUtil.date(java.time.temporal.TemporalAccessor)
方法描述
{@link TemporalAccessor}类型时间转为{@link DateTime}<br>
始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象
支持版本及以上
5.0.0
参数描述:
参数名 | 描述 |
---|---|
TemporalAccessor temporalAccessor |
temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate
|
返回值:
时间对象
参考案例:
//TemporalAccessor类型时间转换为DateTime
String str = "31-Aug-2020";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.US);
//temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate
LocalDateTime localDateTime = LocalDate.parse(str, dtf).atStartOfDay();
Date date1 = DateUtil.date(localDateTime);
System.out.println(date1);
Assert.assertNotNull(date1);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
源码解析:
2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换
文章来源: xiaoxuzhu.blog.csdn.net,作者:小虚竹,版权归原作者所有,如需转载,请联系作者。
原文链接:xiaoxuzhu.blog.csdn.net/article/details/117304856
- 点赞
- 收藏
- 关注作者
评论(0)