2hutool实战:DateUtil

您所在的位置:网站首页 毫秒转换日期工具怎么用 2hutool实战:DateUtil

2hutool实战:DateUtil

2023-10-27 04:15| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

hutool实战(带你掌握里面的各种工具)目录

万字博文教你搞懂java源码的日期和时间相关用法

用途:常用的时间类型转换使用场景

常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换

项目引用

此博文的依据:hutool-5.6.5版本源码

cn.hutool hutool-core 5.6.5 方法摘要

方法

描述

cn.hutool.core.date.DateUtil.dateNew(java.util.Date)

根据已有{@link Date} 产生新的{@link DateTime}对象

cn.hutool.core.date.DateUtil.date(long)

Long类型时间转为{@link DateTime} 只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000

cn.hutool.core.date.DateUtil.date(java.util.Calendar)

{@link Calendar}类型时间转为{@link DateTime} 始终根据已有{@link Calendar} 产生新的{@link DateTime}对象

cn.hutool.core.date.DateUtil.date(java.time.temporal.TemporalAccessor)

{@link TemporalAccessor}类型时间转为{@link DateTime} 始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象

方法明细方法名称:cn.hutool.core.date.DateUtil.date(java.util.Date)方法描述

{@link Date}类型时间转为{@link DateTime} 如果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);源码解析:

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);源码解析:

2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换

方法明细方法名称:cn.hutool.core.date.DateUtil.date(long)方法描述

Long类型时间转为{@link DateTime} 只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000

支持版本及以上参数描述:

参数名

描述

long date

date Long类型Date(Unix时间戳)

返回值:

时间对象

参考案例://只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000 Date date6 = DateUtil.date(System.currentTimeMillis()); System.out.println(date6); Assert.assertNotNull(date6);源码解析:

2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换

方法明细方法名称:cn.hutool.core.date.DateUtil.date(java.util.Calendar)方法描述

{@link Calendar}类型时间转为{@link DateTime} 始终根据已有{@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);源码解析:

2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换

方法明细方法名称:cn.hutool.core.date.DateUtil.date(java.time.temporal.TemporalAccessor)方法描述

{@link TemporalAccessor}类型时间转为{@link DateTime} 始终根据已有{@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);源码解析:

2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129087.html原文链接:https://javaforall.cn



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3