Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBoot应用程序获得不同的系统时间_Java_Spring_Ubuntu_Timezone - Fatal编程技术网

Java SpringBoot应用程序获得不同的系统时间

Java SpringBoot应用程序获得不同的系统时间,java,spring,ubuntu,timezone,Java,Spring,Ubuntu,Timezone,我有一个简单的SpringBoot Java应用程序。在日志中,使用LocalDateTime.now()are显示错误的时间戳,比系统(Ubuntu)默认值多1小时。 在日志记录时间戳中,它是: 2020-11-26 14:46:00584信息[scheduling-1]… 还有打印LocalDateTime。 但是,系统时间不同: $ date qui nov 26 13:50:13 -03 2020 那么,如何设置应用程序以从系统中获取正确的时间呢?在Java中,为时间指定明确的时区。例

我有一个简单的SpringBoot Java应用程序。在日志中,使用
LocalDateTime.now()
are显示错误的时间戳,比系统(Ubuntu)默认值多1小时。 在日志记录时间戳中,它是:

2020-11-26 14:46:00584信息[scheduling-1]…

还有打印
LocalDateTime
。 但是,系统时间不同:

$ date
qui nov 26 13:50:13 -03 2020

那么,如何设置应用程序以从系统中获取正确的时间呢?

在Java中,为时间指定明确的时区。例如:

    ZoneId desiredTimeZone = ZoneId.of("America/Sao_Paulo");
    ZonedDateTime logTime = ZonedDateTime.now(desiredTimeZone);
    System.out.println(logTime);
my Java 11上的输出示例:

2020-11-27T03:13:50.944898-02:00[美国/圣保罗]


在Java中,为时间指定显式时区。例如:

    ZoneId desiredTimeZone = ZoneId.of("America/Sao_Paulo");
    ZonedDateTime logTime = ZonedDateTime.now(desiredTimeZone);
    System.out.println(logTime);
my Java 11上的输出示例:

2020-11-27T03:13:50.944898-02:00[美国/圣保罗]


您应该在项目中使用
ZoneDateTime
。使用其他日期格式可能总是会出现时间错误


您可以阅读此内容了解
ZonedDateTime
vs
LocalDateTime
https://www.baeldung.com/java-zoneddatetime-offsetdatetime

您应该在项目中使用
ZoneDateTime
。使用其他日期格式可能总是会出现时间错误


您可以阅读此内容了解
ZonedDateTime
vs
LocalDateTime
https://www.baeldung.com/java-zoneddatetime-offsetdatetime

我同意你的说法
LocalDateTime
在这里使用的类不正确,应该很少使用。我不认为仅仅换班就能解决OP的问题。我同意你的说法
LocalDateTime
在这里使用的类不正确,应该很少使用。我不认为仅仅改变班级就能解决OP的问题。