Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
来源:互联网 发布:蚂蚁聚宝网络异常 编辑:程序博客网 时间:2024/05/29 07:11
最近一直在用Java8提供的LocalDateTime,使用起来确实比Date方便多了,但是也会需要他们之间的转换的,查到的备份一下,提供出来方便大家
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法
// Obtains an instance of Date from an Instant object.public static Date from(Instant instant) { try { return new Date(instant.toEpochMilli()); } catch (ArithmeticException ex) { throw new IllegalArgumentException(ex); }}// Converts this Date object to an Instant.public Instant toInstant() { return Instant.ofEpochMilli(getTime());}
这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime(这个类可以很容易获取LocalDate和LocalTime),新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date,具体实现细节如下:
// 01. java.util.Date --> java.time.LocalDateTimepublic void UDateToLocalDateTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);}// 02. java.util.Date --> java.time.LocalDatepublic void UDateToLocalDate() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); LocalDate localDate = localDateTime.toLocalDate();}// 03. java.util.Date --> java.time.LocalTimepublic void UDateToLocalTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); LocalTime localTime = localDateTime.toLocalTime();}// 04. java.time.LocalDateTime --> java.util.Datepublic void LocalDateTimeToUdate() { LocalDateTime localDateTime = LocalDateTime.now(); ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}// 05. java.time.LocalDate --> java.util.Datepublic void LocalDateToUdate() { LocalDate localDate = LocalDate.now(); ZoneId zone = ZoneId.systemDefault(); Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}// 06. java.time.LocalTime --> java.util.Datepublic void LocalTimeToUdate() { LocalTime localTime = LocalTime.now(); LocalDate localDate = LocalDate.now(); LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}
转载地址:原地址
阅读全文
1 0
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Date与LocalDateTime、LocalDate、LocalTime互转
- Date与LocalDate,LocalDateTime,LocalTime的转换
- java8 Date,Timestamp,LocalDate,LocalTime,LocalDateTime,Instant互转
- LocalDate、LocalTime、LocalDateTime
- java LocalDate 与 LocalTime类
- Java 时间类-Calendar、Date、LocalDate/LocalTime
- Java 时间类-Calendar、Date、LocalDate/LocalTime
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- Java 8---LocalDate,LocalTime处理日期时间
- Java 8---LocalDate,LocalTime处理日期时间
- Mysql 递归查询
- sklearn-SVC实现与类参数
- Excel表输入公式不计算
- weex
- 《Windows核心编程》读书笔记十六 线程栈
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- 论算法的重要性
- 【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN
- 编程语言分类
- Android:消息推送增加推送成功率,集成厂商通道
- SLAM资源收集
- 在 ubuntu 中设置安装 boost 库
- 费曼学习法凭什么能火爆网络?
- 软件工程视频学习——第二章——可行性分析