问题描述
2023-10-18 10:13:08.613 INFO 1 --- [ scheduling-1] com.test.schedule.DbHistoryTask : 系统结束定时任务数据库备份
2023-10-18 10:13:09.000 INFO 1 --- [ scheduling-1] com.test.schedule.DbHistoryTask : 系统开启定时任务数据库振动器表备份
root@d31e5e724869:/app
Wed Oct 18 18:15:06 CST 2023
处理方法
设置项目时区
- 配置springboot.yml文件
spring:
jackson:
time-zone: Asia/Shanghai
- 时区设置:确保应用程序和容器都使用相同的时区设置。在应用程序启动时设置默认时区,以确保它与容器的时区一致。
程序入口中设置全局
- 在Spring Boot中,在应用程序的入口类中执行以:
public static void main(String[] args) {
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
SpringApplication.run(Application.class, args);
}
使用容器时间
- 如果容器的时间是项目所依赖的标准时间,那么可以考虑在应用程序中直接使用容器的时间。
- 编写一个工具方法来获取容器的当前时间并在日志中使用它。
import java.util.Date;
public class TimeUtil {
public static Date getCurrentContainerTime() {
return new Date();
}
}
容器时间和主机系统时间同步
docker run -d --name xxx-p 8080:8080 \
-v /etc/localtime:/etc/localtime:ro \
xxx