将 UTC 中的纪元时间转换为另一个时区的纪元时间



我需要将 UTC 的纪元时间转换为不同时区的纪元时间。示例:以UTC格式1389556017000为美国/蒂华纳时区的纪元时间。

public static void main(String[] args) {

        Long epoch_date = 1389556017000L;
        ZonedDateTime date1= Instant.ofEpochMilli(epoch_date)
                             .atZone(ZoneId.of("America/Tijuana"));
        long epoch_second = date1.toInstant().toEpochMilli();
       System.out.println("Epoch time in new timezone is  :" + epoch_second);
    }

我的输出与输入相同...

纪元时间是一个绝对的时间点。它与任何时区无关。

例如 - 印度的下午 6:30 与英格兰的下午 1:00 相同。两个时代的纪元是相同的。

您可以在 - https://en.wikipedia.org/wiki/Epoch 阅读更多信息

2014-01-12T11:46:57-08:00 和 2014-01-12T19:46:57Z 是同一时间(称为 T1(。

1970-01-01T00:00:

00Z(即纪元的开始(和1969-12-31T16:00:00-08:00(称为T0(是同一时间

时间

在内部存储为T0和所讨论时间之间的秒数,毫秒数。

对于 T1 和 T0 之间的秒数,毫秒数,无论什么,只有一个答案。

最新更新