java - Java 8 的新 Java Date Time API 是否处理 DST?

标签 java datetime datetimeoffset

我正在考虑使用新的 java 8 Date Time API。我在谷歌上搜索了一下,发现 jodaTime 是 java 的不错选择,但仍然有兴趣了解这个新 API 是如何工作的。

我将所有时间以 UTC 值存储在我的数据存储中,并将根据用户的时区将它们转换为本地时区特定值。我可以找到许多介绍如何使用新的 Java Date Time API 的文章。但是我不确定 API 是否会处理 DST 更改? 或者我们有更好的方法来处理 Date 吗?

我刚刚学习新的 Date API,所以想听听您对处理 DateTime 并在 Users TimeZone 的基础上显示它的想法。

最佳答案

这取决于你使用的类:

  • Instant 是全局时​​间线 (UTC) 上的瞬时点,与时区无关。
  • LocalDateLocalDateTime 没有时区的概念,但是调用 now() 当然会给你正确的时间。
  • OffsetDateTime 有时区,但不支持夏令时。
  • ZonedDateTime 具有完整的时区支持。

它们之间的转换通常需要一个时区,所以回答你的问题:

是的,Java 8 日期/时间可以处理 DST,如果您使用得当。

关于java - Java 8 的新 Java Date Time API 是否处理 DST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32833896/

相关文章:

java - 使用 XSLT 递归加载相关 XML 文件并应用转换

java - 在 for 循环逃逸之前,只有两帧,重绘才会发生

java - 如何在 Java 中向所有线程客户端发送数据?

c++ - 如何将 C++ time_t 对象设置为纪元?

c# - DateTimeOffset?(Nullable) 和 DateTimeOffset.Now 之间的区别

java - 存储输入数据的最佳选择,应用程序在重新启动后会记住它

php - 计算日期间隔的平均值

python - 类型错误 : strptime() argument 1 must be string, 不是系列

c# - .Net 中有 ZonedDateTime (Java) 吗?

c# - 在 Azure SQL 上保存 Datetimeoffset 不起作用