转载自  Java8中 Date和LocalDateTime的相互转换

一.在Java 8中将Date转换为LocalDateTime

方法1:

将Date转换为LocalDatetime,我们可以使用以下方法:

1.从日期获取ZonedDateTime并使用其方法toLocalDateTime()获取LocalDateTime
2.使用LocalDateTime的Instant()工厂方法

示例:

package insping;import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;public class Test {public static void main(String[] args) {Date date = new Date();Instant instant = date.toInstant();ZoneId zoneId = ZoneId.systemDefault();LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();System.out.println("Date = " + date);System.out.println("LocalDateTime = " + localDateTime);}
}

结果:

Date = Fri Jun 16 15:35:26 CST 2017
LocalDateTime = 2017-06-16T15:35:26.970

方法2:

我们也可以使用LocalDateTime的FactoryInput()方法使用系统的默认时区。

LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), zoneId);

二.在Java 8中将LocalDateTime转换为Date

要将LocalDateTime转换回java.util.Date,我们可以使用以下步骤:

1.使用atZone()方法将LocalDateTime转换为ZonedDateTime
2.将ZonedDateTime转换为Instant,并从中获取Date

示例:

package insping;import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;public class Test {public static void main(String[] args) {ZoneId zoneId = ZoneId.systemDefault();LocalDateTime localDateTime = LocalDateTime.now();ZonedDateTime zdt = localDateTime.atZone(zoneId);Date date = Date.from(zdt.toInstant());System.out.println("LocalDateTime = " + localDateTime);System.out.println("Date = " + date);}
}

结果:

LocalDateTime = 2017-06-16T15:38:48.580
Date = Fri Jun 16 15:38:48 CST 2017

Java8中 Date和LocalDateTime的相互转换相关推荐

  1. Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转

    Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...

  2. 一文搞懂Java8中表示当前的时间类Date、Instant、LocalDateTime、ZonedDateTime

    1. 概述 Java8中的时间类主要有:Date.Instant.LocalDateTime(LocalDate.LocalTime).ZonedDateTime,除去Date,java.time包下 ...

  3. localdate获取几个月前_关于近期使用java8中LocalDateTime的总结

    1. 前言 前不久项目codereview,发现有同事在处理日期的时候用LocalDateTime,当时还比较好奇,以前用都是用Date,虽然从开始接触java8也有几年时间了,但是还真不知道java ...

  4. Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

    本文收录在猪哥GitHub:https://github.com/pig6/Java 中,本项目收集一线大厂面试.实战.Java学习路线等. 本文目前提供:LocalDateTime获取时间戳(毫秒/ ...

  5. java8中LocalDate、LocalTime、LocalDateTime介绍

    很久以前java8中就推出了新的Time API,旨在解决旧版Date和Calendar的缺陷.讲道理真的挺好用的,不过由其他工具对新版time的兼容并不够完善,导致现在使用还不够普及.大家都还在用老 ...

  6. dozer无法映射java8中的LocalDateTime类型的解决方案

    dozer是一个很方便的bean映射工具包,可以很轻松地做到两个bean对象的属性值复制,但是dozer包在2014年的时候停止更新了,而jdk1.8也是2014年发布的,所以对于java8中的新日期 ...

  7. Java中Double与BigDecimal的互转,Date和LocalDateTime互转

    Java中类型转换是非常常见的,下面说下几种类型的转换. BigDecimal类型和double类型的值相互转换 1.BigDecimal转double,使用BigDecimal类里面doubleVa ...

  8. java8的LocalDate、LocalDateTime和之前的Date、Calendar

    背景 之前研究了一下java里边的Date和Calendar是怎么实现的(<Calendar源码--JDK是怎么计算时间的>),然后发现有文章介绍到java8有LocalDate,然后想着 ...

  9. LocalDateTime获取时间戳、LocalDateTime与String互转、Date与LocalDateTime互转(Java8 特性)

    LocalDateTime与String.Date的互转 废话不说了,直接上代码,喜欢自取:可以封装成util类~~ 1.得到当前的localDateTime public static LocalD ...

最新文章

  1. Spring Boot中自带的这些工具类,你用过几个?
  2. linux启动docker_10分钟快速掌握Docker必备基础知识
  3. 局网计算机无法访问,局域网计算机不能访问服务器的原因是什么
  4. 【Linux】一步一步学Linux——wget命令(192)
  5. asp.net返回值当文件下载问题
  6. 电力笔记-30个行业专业词汇(Ⅱ期)
  7. 失败原因【object object】_使用前端框架Vue的原因!
  8. php mysql中华图书购物商城
  9. 计算机word表格平均分,Word表格自动求和_word求平均值 - 学无忧
  10. python求解LeetCode习题Find the First Missing Positive Number
  11. UVA 10099 - The Tourist Guide
  12. Blue Coat让企业在降低风险的同时利用网络应用程序
  13. C# 将错误日志写到txt文件
  14. MX_Player_Pro_专业精简版AC3/DTS/EAC3 By.SOLDIER-就要应用网91apps.cn
  15. Json使用详解(配合Ajax异步请求)
  16. 【Python】np.nonzero()函数
  17. iOS Tagged Pointer
  18. 互联网 + :小米案例版
  19. Java基础练习(十二)集合与数组工具类使用,BigDecimal使用,实现二分查找,快速排序
  20. 中国人工智能学会发布《2022年度中国人工智能学会-华为MindSpore学术奖励基金入选名单公示》...

热门文章

  1. 在数组中找重复数、只出现一次的数或丢失数的题目(Leetcode题解-Python语言)
  2. 高等数学下-赵立军-北京大学出版社-题解-练习12.4
  3. 无法载入增效工具_山东省 智能工具箱 智能工具管理 工具管理企业数字化管理...
  4. 16进制数用空格分开 tcp_面试时,你是否被问到过TCP/IP协议?
  5. CoreJava 笔记总结-第四章 对象与类
  6. 朗文3000词汇表带音标_英语零基础音标语法都不会词汇量3000 学雅思到6/6.5分 需要多久 该如何做?...
  7. 蓝桥杯 k倍区间 前缀和
  8. Java线程的6种状态
  9. G. GCD Festival(莫比乌斯、欧拉函数)
  10. P3564 [POI2014]BAR-Salad Bar(ST表 + 二分)