【问题标题】:AWS EC2 instance LocalDateTime not in line with system dateAWS EC2 实例 LocalDateTime 不符合系统日期
【发布时间】:2016-10-06 16:36:53
【问题描述】:

这是我的 Maven 项目的 main 函数中的 Java 代码。

LocalDateTime localNow = LocalDateTime.now();
System.out.println(localNow);

当我运行 Maven install 来创建 jar 时,我本地机器上的输出是

2016-10-05T12:21:17.646

当我跑步时

date 

在我的本地机器上的命令行上我得到

Wed Oct  5 12:21:17 EDT 2016

它应该如何工作。但是,当我上传到我的 EC2 实例时,代码的输出是

2016-10-05T16:23:17.897

(我想这是UTC时间)当

date

在控制台里拿出来

Wed Oct  5 12:23:17 EDT 2016

我按照本指南更改了我的 EC2 实例的时间:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html#change_time_zone。它显然适用于从命令行获取日期,但 Java 中的 LocalDateTime 不同意。我正在使用 java.time.*。

【问题讨论】:

    标签: java amazon-ec2 java-time


    【解决方案1】:

    LocalTime.now() 使用 JVM 的默认时区 - 如何获得它的详细信息是 here。因此,出于某种原因,您的 JVM 的时区与您的操作系统的时区不同。您可以使用以下 JVM 选项强制时区:

    -Duser.timezone=America/New_York
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2023-03-09
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      相关资源
      最近更新 更多