java - 如何将时间戳转换为不同时区

标签 java java-8

我的服务器上有一个时间戳,如下所示。

Date date = new Date();
long timestamp = date.getTime();

这是从不同时区生成的,我只有上面的长值。我需要将此时间转换为不同的时区。我尝试了以下方法,但它仍然显示本地时间。

// Convert to localdatetime using local time zone
LocalDateTime ldt = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp),
            ZoneId.systemDefault());

// Convert time to required time zone. 
ZoneId est5EDT = ZoneId.of("EST5EDT");
ZonedDateTime est5EDTTime = ldt.atZone(est5EDT);
System.out.println("EST5EDT : " + est5EDTTime);

成功转换时间后,我需要获取该时间的时间戳。如何做到这一点?

最佳答案

您可以在打印时转换时区或时间戳格式。如果您只想存储时间戳或比较它们,则无需执行任何操作。

关于java - 如何将时间戳转换为不同时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39695248/

相关文章:

java - Sonar findbugs,是否可以在未编译的文件上运行 findbugs?

java - 通过数字获取当天的名称

java - 无法在Struts 2中发送和接收ajax数据

java - 在 Java 中对对象列表进行排序的最优雅的方法是什么?

java - 监控IntelliJ 2018.03时出现这么多Major GC?

java - 使用 JBoss 4.2.x,如何在不取消部署现有数据源的情况下部署新数据源?

java - 如何将 ISO 8601 持续时间转换为秒

java - Java 中的 Lambda 表达式返回类型

Java 名称冲突错误,尽管方法签名不同

java - 关于 java 8 向后兼容性的问题 : new methods in JDK