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

标签 java spring ubuntu timezone

我有一个简单的 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
那么,我如何设置应用程序以从系统获取正确的时间?

最佳答案

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

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

2020-11-27T03:13:50.944898-02:00[America/Sao_Paulo]

关于Java Spring Boot应用程序获得不同的系统时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65026230/

相关文章:

java - 使用 Spring Autowiring 时创建 bean

java - 对现有 webapp 进行 Spring Boot 健康检查

java - 对多个 POST 参数使用 @RequestParam

java - 使用来自 URI 的参数进行 PostMapping

java - 在jsp中操作列表元素符号

java - GlassFish + MySQL + XHTML + Java Beans + UTF-8 问题

spring - 如何通过 RestTemplate 发布字节数组

bash - 使用 bash 脚本在同一终端上执行多个命令

python - gcloud 与 pip install 相关的问题

ubuntu - 执行 Postfix ubuntu 教程时权限被拒绝