前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2hutool实战:DateUtil-常用的时间类型转换「建议收藏」

2hutool实战:DateUtil-常用的时间类型转换「建议收藏」

作者头像
全栈程序员站长
发布2022-07-28 20:16:31
9.5K0
发布2022-07-28 20:16:31
举报

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

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

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

用途:常用的时间类型转换

使用场景

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

项目引用

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

代码语言:javascript
复制
        <dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-core</artifactId>
			<version>5.6.5</version>
		</dependency>

方法摘要

方法

描述

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时间戳)

返回值:

时间对象

参考案例:

代码语言:javascript
复制
		//如果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}对象

参考案例:

代码语言:javascript
复制
		//根据已有{@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}<br> 只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×1000

支持版本及以上

参数描述:

参数名

描述

long date

date Long类型Date(Unix时间戳)

返回值:

时间对象

参考案例:

代码语言:javascript
复制
//只支持毫秒级别时间戳,如果需要秒级别时间戳,请自行×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}<br> 始终根据已有{@link Calendar} 产生新的{@link DateTime}对象

支持版本及以上

参数描述:

参数名

描述

Calendar calendar

calendar {@link Calendar}

返回值:

时间对象

参考案例:

代码语言:javascript
复制
		//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}<br> 始终根据已有{@link TemporalAccessor} 产生新的{@link DateTime}对象

支持版本及以上

5.0.0

参数描述:

参数名

描述

TemporalAccessor temporalAccessor

temporalAccessor {@link TemporalAccessor},常用子类: {@link LocalDateTime}、 LocalDate

返回值:

时间对象

参考案例:

代码语言:javascript
复制
		//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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用途:常用的时间类型转换
    • 使用场景
      • 项目引用
        • 方法摘要
          • 方法明细
            • 方法名称:cn.hutool.core.date.DateUtil.date(java.util.Date)
            • 方法描述
            • 支持版本及以上
            • 参数描述:
            • 返回值:
            • 参考案例:
            • 源码解析:
          • 方法明细
            • 方法名称:cn.hutool.core.date.DateUtil.dateNew(java.util.Date)
            • 方法描述
            • 支持版本及以上
            • 参数描述:
            • 返回值:
            • 参考案例:
            • 源码解析:
          • 方法明细
            • 方法名称:cn.hutool.core.date.DateUtil.date(long)
            • 方法描述
            • 支持版本及以上
            • 参数描述:
            • 返回值:
            • 参考案例:
            • 源码解析:
          • 方法明细
            • 方法名称:cn.hutool.core.date.DateUtil.date(java.util.Calendar)
            • 方法描述
            • 支持版本及以上
            • 参数描述:
            • 返回值:
            • 参考案例:
            • 源码解析:
          • 方法明细
            • 方法名称:cn.hutool.core.date.DateUtil.date(java.time.temporal.TemporalAccessor)
            • 方法描述
            • 支持版本及以上
            • 参数描述:
            • 返回值:
            • 参考案例:
            • 源码解析:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档