Java 如果UTC的日期已知,而该时区的时间已知,如何知道该时区的日期?

Java 如果UTC的日期已知,而该时区的时间已知,如何知道该时区的日期?,java,jodatime,Java,Jodatime,例如: 我知道UTC的日期是2020-05-15 我知道时间 太平洋/奥克兰(+12)是8:00 如何使用这些已知数据计算太平洋/奥克兰(+12)的日期?我会采取简单的方法“尝试明显的日期/时间组合,看看它是否有效”: 在给定时区内,使用“UTC日期”和本地时间尝试一个DateTime。在这种情况下,您将在太平洋/奥克兰以2020-05-15T08:00:00结束 将该DateTime转换为UTC,在本例中以2020-05-14T20:00:00Z结束 检查结果日期: 现在太早了吗?把我

例如:

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

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

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

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