java - 如果已知 UTC 的日期和该时区的时间,如何知道该时区的日期?

标签 java jodatime

例如:

  • 我知道 UTC 日期是 2020-05-15
  • 我知道时间 太平洋/奥克兰 (+12) 是 8:00

如何使用这些已知数据计算太平洋/奥克兰 (+12) 的日期?

最佳答案

我会采用简单的方法“尝试明显的日期/时间组合,看看它是否有效”:

  • 尝试在给定时区内使用“UTC 日期”和本地时间的 DateTime。在这种情况下,太平洋/奥克兰的最终时间为 2020-05-15T08:00:00
  • DateTime 转换为 UTC,在本例中以 2020-05-14T20:00:00Z 结尾
  • 检查结果日期:
    • 是不是太早了?将我们的候选人提前一天。
    • 是不是太晚了?将我们的候选人后退一天。
    • 是吗?太好了 - 我们的候选人已经是正确的。

关于java - 如果已知 UTC 的日期和该时区的时间,如何知道该时区的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40849235/

相关文章:

Java awt Swing - 我遇到错误了吗?

java - hibernate 如何访问私有(private)字段?

java - 对于某些时区,通过 JodaTime 和 java.time 设置 TimeZone 后的更正时间给出了不同的结果,为什么?

java - 为什么 Joda Interval 不具有可比性?

java - jackson 未能将字符串反序列化为 Joda-Time

java - Android:将文本字段限制为一位小数

java.lang.classnotfoundException : com. 谷歌,javascript.jscomp.SourceFile

java - 记录异常并抛出新异常 - 它是反模式吗?

java - Joda Time 的 Period.getMillis 返回不准确的数字

java - joda-time DateTime.with*() 的性能问题