LocalDateTime,LocalDate与Date的时间类型转换

这篇博客介绍了如何在Java中进行Date和LocalDateTime类型的转换,包括Date转String、String转Date、Date转LocalDate和LocalDateTime,以及LocalDateTime的转换。内容详细阐述了日期格式化规则,如yyyy和YYYY的区别,以及不同时间单位的表示。此外,还展示了如何进行时间的加减操作。
摘要由CSDN通过智能技术生成

Date的时间类型转换

需要事先导入Commons-lang3的依赖包
说明: 日期格式化时, yyyy 表示当天所在的年,而大写的 YYYY 代表是 week in which year,
意思是当天所在的周属于的年份,一周从周日开始,周六结束,
只要本周跨年,返回的 YYYY 就是下一年。另外需要注意:
表示月份是大写的 M
表示分钟则是小写的 m
24 小时制的是大写的 H
12 小时制的则是小写的 h
表示月份是大写的 M
表示分钟则是小写的 m
24 小时制的是大写的 H
12 小时制的则是小写的 h

<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-lang3</artifactId>
	<version>3.1</version>
</dependency>
// Date类型转String类型  
String date = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");  
System.out.println(date); // 输出 2021-05-01 01:01:01    
// String类型转Date类型  
Date date = DateUtils.parseDate("2021-05-01 01:01:01", "yyyy-MM-dd HH:mm:ss");    
// 计算一个小时后的日期  
Date date = DateUtils.addHours(new Date(), 1);

LocalDateTime的时间类型转换

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime time = LocalDateTime.now();
String localTime = df.format(time);
LocalDateTime ldt = LocalDateTime.parse("2018-01-12 17:07:05",df);
System.out.println("LocalDateTime转成String类型的时间:"+localTime);
System.out.println("String类型的时间转成LocalDateTime:"+ldt);

Date转换为LocalDate/LocalDateTime

Date nowTime = new Date();
LocalDate now = nowTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDateTime nowTime = nowTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();

LocalDate / LocalDateTime转换为Date

LocalDate nowTime = LocalDate.now(ZoneId.systemDefault());
Date date = Date.from(nowTime.atStartOfDay(ZoneId.systemDefault()).toInstant());

LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
Date date = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值