小编典典

Date input = new Date();

LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

说明

尽管有名称,它java.util.Date代表时间轴上的一个瞬间,而不是“日期”。存储在对象中的实际数据是long自1970-01-01T00:00Z(1970 GMT / UTC开始的午夜)以来的毫秒数。

java.util.DateJSR-310中的等效类是Instant,因此有一种方便的方法toInstant()可以提供转换:

Date input = new Date();

Instant instant = input.toInstant();

一个java.util.Date实例没有时区的概念。如果调用toString(),这可能看起来很奇怪java.util.Date,因为toString相对于时区。但是,该方法实际上是即时使用Java的默认时区来提供字符串。时区不是的实际状态的一部分java.util.Date。

一个Instant还没有关于时区的任何信息。因此,要将Instant日期转换为本地日期,必须指定时区。这可能是默认区域- ZoneId.systemDefault()或它可能是你的应用程序控制的时区,例如来自用户首选项的时区。使用该atZone()方法来应用时区:

Date input = new Date();

Instant instant = input.toInstant();

ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());

一个ZonedDateTime包含由本地日期和时间,时区,与GMT / UTC的偏移量的状态。因此,LocalDate可以使用toLocalDate()以下命令轻松提取日期

Date input = new Date();

Instant instant = input.toInstant();

ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());

LocalDate date = zdt.toLocalDate();

Java 9答案

在Java SE 9中,添加了一个新方法,该方法稍微简化了此任务:

Date input = new Date();

LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());

2020-03-02

localBlock在java_将java.util.Date转换为java.time.LocalDate相关推荐

  1. 如何将java.util.Date转换为java.sql.Date?

    我试图使用java.util.Date作为输入,然后用它创建一个查询-所以我需要一个java.sql.Date . 我很惊讶地发现它不能隐式或显式地进行转换-但我什至不知道该怎么做,因为Java AP ...

  2. java8 util.time_Java8 java.util.Date转换为java.time.ZonedDateTime

    尝试将java.util.Date转换为java.time.LocalDate时,我收到以下异常. java.time.DateTimeException: Unable to obtain Zone ...

  3. 将java.util.Date转换为java.time.LocalDate

    本文翻译自:Convert java.util.Date to java.time.LocalDate What is the best way to convert a java.util.Date ...

  4. java.util.Date和java.sql.Date之间的相互转换

    1.java.util.Date转换为java.sql.Date java.util.Date curDate = new java.util.Date(); java.sql.Date date = ...

  5. java.util.Date和java.sql.Date

    java.util.Date是在除了SQL语句的情况下面使用的. java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分 它们都有getTime方法返回毫秒数,自然就可以直接构建 ...

  6. java.util.Date与 java.sql.Date两个包下Date的区别与联系

    一般我在项目中导入需要的包,大部分情况下都会根据IDE的提示自动导入默认的包,少数情况下会扫一眼,看看是不是需要的包,极少情况会斟酌一下,确认一下这就是需要的包. 最近在项目中导入JDK中的Date包 ...

  7. mybatis异常invalid comparison: java.util.Date and java.lang.String

    原文链接:http://blog.csdn.net/wanghailong_qd/article/details/50673144 mybatis异常invalid comparison: java. ...

  8. java.util.Date和java.sql.Date 一点区别

    最近无意中发现,在oracle中同一样的一个Date类型字段,存储的日期格式有两种不同的情况,第一种是2011-1-1 12:00:00,第二种是2011-1-1,仔细查找发现在向数据库中写数据的时候 ...

  9. java.util.Date和java.sql.Date的区别及应用

    ava.util.Date 就是在除了SQL语句的情况下面使用 java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分 它都有getTime方法返回毫秒数,自然就可以直接构建 ...

最新文章

  1. xgboost重要参数2为主但不全要参照1
  2. js把base64串解析成中文_回文问题终极篇:最小代价构造回文串
  3. 计算机底层书籍三件套--大话计算机
  4. DataTables中设置checkbox回显选中
  5. 【openlayers】修改源码支持SLD的graphicfill属性
  6. 【Homework】什么是多态,多态具体体现有哪些?
  7. Adobe宣布Flex Builder将更名为Flash Builder
  8. intellij手动添加依赖jar包
  9. Linux 命令之 xargs -- 给其他命令传递参数的一个过滤器
  10. 彻底理解SESSION
  11. 话说微软刚出的同步框架Sync Services
  12. lucene3.0中使用MultiFieldQueryParser多字段查找
  13. 如何解决Maple的应用在数学中
  14. CSDN下载频道【2月热门资源TOP100】汇总
  15. socks v5 协议解析
  16. android组合键截图原理,步步高vivo x7怎么截屏 组合键截图方法教程
  17. 初步观察UE蓝图的“Branch节点”,这个最简单的K2Node的代码
  18. 财会法规与职业道德【8】
  19. adb填充安卓手机的内存
  20. [DP] 【UNR #2】积劳成疾

热门文章

  1. Spring Cloud Alibaba基础教程:使用Sentinel实现接口限流
  2. java中gso是什么意思_Java中用Gson解析json字符串
  3. 会计转行算法之路(一)会计转程序员
  4. numba.jit警告:failed type inference due to: non-precise type pyobject
  5. There was a problem confirming the ssl certificate
  6. pyotrch nn.Conv2d中groups参数的理解
  7. vs2015编译 pybind 动态库
  8. Can't get attribute '_rebuild_tensor_v2' on module 'torch._utils'
  9. Tensorflow csv文件读写与分批训练
  10. python 内存二进制读取图片