java - Java 8 的新 Java Date Time API 是否负责 DST?

标签 java datetime datetimeoffset

我正在考虑使用新的java 8 Date Time API。我用 google 搜索了一下,发现 jodaTime 对于 java 来说是不错的选择,但仍然对这个新 API 的工作原理感兴趣。

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

我刚刚学习新的 Date API,因此想听听您对处理 DateTime 并根据用户时区显示它的想法。

最佳答案

这取决于您使用哪个类:

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

它们之间的转换通常需要时区,因此回答您的问题:

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

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

相关文章:

java - 如何暂停使用 DownloadManager?

c# - 如何从日期时间中提取时间

c++ - 如何在 C++ 中将字符串日期与 time_t 进行比较?

java - 使用java将日期时间插入数据库

c# - DateTimeOffset 如何处理夏令时?

java - 打印机打印新行

java - 合理处理JSR223 Rhino抛出的ScriptException

java - 配置 IntelliJ 以使用 Java 14 和记录

c# - 如何获取 Datetimeoffset 的月份值?

c# - TimeZoneInfo.ConvertTime 从 PST 到 UTC 到 AEST - 关闭一小时