【发布时间】:2014-06-24 00:43:18
【问题描述】:
我在 EC2 实例上运行我的应用程序,我为日期和时区进行了配置设置,结果我得到了我想要的 IST。 但是当我运行我的 java 应用程序时,它会将时区显示为 EDT。
你能告诉我为什么我在 java 应用程序和 Linux 中的 date 命令中得到两个不同的时区。
【问题讨论】:
标签: java amazon-ec2 timezone
我在 EC2 实例上运行我的应用程序,我为日期和时区进行了配置设置,结果我得到了我想要的 IST。 但是当我运行我的 java 应用程序时,它会将时区显示为 EDT。
你能告诉我为什么我在 java 应用程序和 Linux 中的 date 命令中得到两个不同的时区。
【问题讨论】:
标签: java amazon-ec2 timezone
您的代码可能在某处调用TimeZone.setDefault。你可以尝试调用这个传递一个不同的时区,或者传递null将时区重置为系统的默认时区。
也可能只是您需要重新启动 EC2 实例,因为在首次启动 JVM 时会读取默认时区。如果后来改了,重启JVM后才能看到效果。
但总的来说,依赖操作系统的时区设置并不是一个好习惯。考虑在需要时明确设置时区,或在代码中有意使用TimeZone.setDefault。
【讨论】: