Java8中 Date和LocalDateTime的相互转换
转载自 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的相互转换相关推荐
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...
- 一文搞懂Java8中表示当前的时间类Date、Instant、LocalDateTime、ZonedDateTime
1. 概述 Java8中的时间类主要有:Date.Instant.LocalDateTime(LocalDate.LocalTime).ZonedDateTime,除去Date,java.time包下 ...
- localdate获取几个月前_关于近期使用java8中LocalDateTime的总结
1. 前言 前不久项目codereview,发现有同事在处理日期的时候用LocalDateTime,当时还比较好奇,以前用都是用Date,虽然从开始接触java8也有几年时间了,但是还真不知道java ...
- Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
本文收录在猪哥GitHub:https://github.com/pig6/Java 中,本项目收集一线大厂面试.实战.Java学习路线等. 本文目前提供:LocalDateTime获取时间戳(毫秒/ ...
- java8中LocalDate、LocalTime、LocalDateTime介绍
很久以前java8中就推出了新的Time API,旨在解决旧版Date和Calendar的缺陷.讲道理真的挺好用的,不过由其他工具对新版time的兼容并不够完善,导致现在使用还不够普及.大家都还在用老 ...
- dozer无法映射java8中的LocalDateTime类型的解决方案
dozer是一个很方便的bean映射工具包,可以很轻松地做到两个bean对象的属性值复制,但是dozer包在2014年的时候停止更新了,而jdk1.8也是2014年发布的,所以对于java8中的新日期 ...
- Java中Double与BigDecimal的互转,Date和LocalDateTime互转
Java中类型转换是非常常见的,下面说下几种类型的转换. BigDecimal类型和double类型的值相互转换 1.BigDecimal转double,使用BigDecimal类里面doubleVa ...
- java8的LocalDate、LocalDateTime和之前的Date、Calendar
背景 之前研究了一下java里边的Date和Calendar是怎么实现的(<Calendar源码--JDK是怎么计算时间的>),然后发现有文章介绍到java8有LocalDate,然后想着 ...
- LocalDateTime获取时间戳、LocalDateTime与String互转、Date与LocalDateTime互转(Java8 特性)
LocalDateTime与String.Date的互转 废话不说了,直接上代码,喜欢自取:可以封装成util类~~ 1.得到当前的localDateTime public static LocalD ...
最新文章
- Spring Boot中自带的这些工具类,你用过几个?
- linux启动docker_10分钟快速掌握Docker必备基础知识
- 局网计算机无法访问,局域网计算机不能访问服务器的原因是什么
- 【Linux】一步一步学Linux——wget命令(192)
- asp.net返回值当文件下载问题
- 电力笔记-30个行业专业词汇(Ⅱ期)
- 失败原因【object object】_使用前端框架Vue的原因!
- php mysql中华图书购物商城
- 计算机word表格平均分,Word表格自动求和_word求平均值 - 学无忧
- python求解LeetCode习题Find the First Missing Positive Number
- UVA 10099 - The Tourist Guide
- Blue Coat让企业在降低风险的同时利用网络应用程序
- C# 将错误日志写到txt文件
- MX_Player_Pro_专业精简版AC3/DTS/EAC3 By.SOLDIER-就要应用网91apps.cn
- Json使用详解(配合Ajax异步请求)
- 【Python】np.nonzero()函数
- iOS Tagged Pointer
- 互联网 + :小米案例版
- Java基础练习(十二)集合与数组工具类使用,BigDecimal使用,实现二分查找,快速排序
- 中国人工智能学会发布《2022年度中国人工智能学会-华为MindSpore学术奖励基金入选名单公示》...
热门文章
- 在数组中找重复数、只出现一次的数或丢失数的题目(Leetcode题解-Python语言)
- 高等数学下-赵立军-北京大学出版社-题解-练习12.4
- 无法载入增效工具_山东省 智能工具箱 智能工具管理 工具管理企业数字化管理...
- 16进制数用空格分开 tcp_面试时,你是否被问到过TCP/IP协议?
- CoreJava 笔记总结-第四章 对象与类
- 朗文3000词汇表带音标_英语零基础音标语法都不会词汇量3000 学雅思到6/6.5分 需要多久 该如何做?...
- 蓝桥杯 k倍区间 前缀和
- Java线程的6种状态
- G. GCD Festival(莫比乌斯、欧拉函数)
- P3564 [POI2014]BAR-Salad Bar(ST表 + 二分)