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

pcww981p  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(316)

我有一个简单的springboot java应用程序。论测井与利用 LocalDateTime.now() 显示错误的时间戳,比系统(ubuntu)默认值多1小时。在日志时间戳中: 2020-11-26 14:46:00,584 INFO [scheduling-1].... 然后开始打印 LocalDateTime 我也是。但是,系统时间不同:

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

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

7kqas0il

7kqas0il1#

在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[美国/圣保罗]

7uzetpgm

7uzetpgm2#

你应该使用 ZonedDateTime 在你的项目上。使用其他日期格式可能总是出现时间错误。
你可以读这个来学习 ZonedDateTimeLocalDateTime : https://www.baeldung.com/java-zoneddatetime-offsetdatetime

相关问题