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,具体实现细节如下:

    @Test
public void method3(){
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("localDateTime: "+localDateTime);
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
System.out.println("date: "+date);
} 输出结果
localDateTime: 2018-11-19T10:22:00.712
date: Mon Nov 19 10:22:00 CST 2018

LocalDateTime---------->Date

    @Test
public void method4(){
LocalDate localDate = LocalDate.now();
System.out.println("localDate: "+localDate);
Instant instant = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
System.out.println("date: "+date);
} 输出结果
localDate: 2018-11-19
date: Mon Nov 19 00:00:00 CST 2018

LocalDate------->Date

    @Test
public void method5(){
LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDate = localDateTime.toLocalDate();
System.out.println(localDate);
} @Test
public void method6(){
LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime = localDate.atStartOfDay();
System.out.println(localDateTime);
}

LocalDate LocalDateTime

    @Test
public void method1(){
Date d1 = new Date();
System.out.println("date: "+d1);
Instant instant = d1.toInstant();
LocalDateTime local1 = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
System.out.println("LocalDateTime: "+local1);
} 输出结果
date: Mon Nov 19 09:37:14 CST 2018
LocalDateTime: 2018-11-19T09:37:14.063

Date ----->LocalDateTime

    @Test
public void method2(){
Date d1 = new Date();
System.out.println("date: "+d1);
Instant instant = d1.toInstant();
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
LocalDate ld = ldt.toLocalDate();
System.out.println("LocalDate: "+ld);
} 输出结果
date: Mon Nov 19 09:46:30 CST 2018
LocalDate: 2018-11-19

Date ------>LocalDate

最新文章

  1. NDK开发_笔记0
  2. 在myeclipse2014使用git上传github
  3. Python开发入门与实战20-微信开发配置
  4. 初学Spring
  5. fastcoloredtextbox 中文不重叠
  6. Bellman-Ford最短路径
  7. mini install centOS log
  8. HDU 5957 Query on a graph
  9. c# windowsForm打印
  10. C++ map.insert 传参类型不同,构造/析构次数不同
  11. easyui最小化后停留在页面的右下角
  12. [LeetCode] Shopping Offers 购物优惠
  13. mysql数据库备份_可执行文件
  14. .NET控件名称缩写一览表 zz
  15. SQL Server 百万级数据提高查询速度的方法(转)
  16. Javascript面试题收集
  17. 从零开始学Kotlin-操作符(3)
  18. 获取当前目录getcwd,设置工作目录chdir,获取目录信息
  19. Python -- 网络编程 -- 认识Python3的urllib库
  20. Python教程:Python中的for 语句

热门文章

  1. CSS 6种完全居中最佳实践(整理)
  2. Ubuntu添加字体
  3. python-列表基本操作
  4. Eclipse连接MySQL数据库(傻瓜篇)
  5. Https socket 连接
  6. js 模拟window.open 打开新窗口
  7. python杂货
  8. Vue-router路由的简单使用
  9. JS面向对象——构造函数模型
  10. C#编程--第三天