springboot new Date() 时区差8小时
1 在k8s环境中,在代码中比较时间。new Date() 发下相差8小时检查宿主机 时区是 cst时区用java代码写出controller时区发现是GMT代码如下:Calendar calendar = Calendar.getInstance();System.out.println("目前时间:" + calendar.getTime());System.out.println("Cale
·
1 在k8s环境中,在代码中比较时间。new Date() 发下相差8小时
- 检查宿主机 时区是 cst时区
- 用java代码写出controller时区发现是GMT
代码如下:
Calendar calendar = Calendar.getInstance();
System.out.println("目前时间:" + calendar.getTime());
System.out.println("Calendar时区::" + calendar.getTimeZone().getID());
System.out.println("user.timezone:" + System.getProperty("user.timezone"));
System.out.println("user.country:" + System.getProperty("user.country"));
System.out.println("默认时区:" + TimeZone.getDefault().getID());
输出时区是 GMT 跟宿主机还不一样,搞不定运维,自己搞把
看来还是时区搞的鬼-
1、数据库链接db添加参数 serverTimezone=Asia/Shanghai
2、springboot启动脚本添加 -Duser.timezone=GMT+08
3、jackson 全局配置
spring.jackson.date-format: yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone: GMT+8
4、jackson 注解
@JsonFormat(timezone = “GMT+8”, pattern = “yyyy-MM-dd HH:mm:ss”)
更多推荐
已为社区贡献3条内容
所有评论(0)