springboot设置时区不起作用_docker设置时区

springboot设置时区不起作用_docker设置时区第一步:确认docker时区进入容器中dockerexec-it容器namebash查看容器时区:date第二步确认数据库时区SELECTTIMEDIFF(NOW(),UTC_TIMESTAMP);如果显示的是08:00:00则是cst时区。如果不是cst时区,则执行Sql:setglobaltime_zone=’+8:00′;##修改mysql全局时区为北京时间,即我们所在的东8区settime_zone=’+8:00′;.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

第一步:确认docker时区

进入容器中

docker exec -it 容器name bash

查看容器时区:

date

springboot设置时区不起作用_docker设置时区

如果时区不对,则需要在启动容器的时候指定正确的时区。在启动的时候多一个参数:

-e TZ=”Asia/Shanghai”

docker run -e TZ="Asia/Shanghai" -d -p 80:80 --name nginx nginx

 第二步确认数据库时区

SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);

如果显示的是08:00:00则是cst时区。

如果不是cst时区,则执行Sql:

set global time_zone = '+8:00';  ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00';  ##修改当前会话时区
flush privileges;  #立即生效

第三步确认数据库连接版本是否是6及版本以上

如果是6及以上版本,则数据连接需要加上时区

jdbc:mysql://192.168.1.54:3306/......&serverTimezone=Asia/Shanghai

第四步:确认SpringBoot的时区

如果不是cst时区,则在启动文件中加上:

@SpringBootApplication
public class ApplyPartyApplication {
    public static void main(String[] args) {
        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
        SpringApplication.run(ApplyPartyApplication.class, args);
    }
}

第五步:确认json化输出前端的时区

此时数据库时区、容器时区、springboot时区都是CST,输出的时间还是可能差8小时,这因为Date进行json的时候还存一个时区,而springboot默认json工具是jackson,采用的是UTC时区。需要一下配置。注意:如果项目WebMvcConfig采用的是继承WebMvcConfigurationSupport,而不是实现WebMvcConfigurer接口的话,下面的配置会不生效。

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189418.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RabbitMQ(四):Exchange交换器–direct

    RabbitMQ(四):Exchange交换器–direct

    2021年10月5日
    35
  • Jmeter并发测试_高并发测试

    Jmeter并发测试_高并发测试JMeter系统并发测试

    2022年9月30日
    3
  • 文件 与 链表的同步

    文件 与 链表的同步

    2021年8月10日
    55
  • 软RAID1 更换坏硬盘

    软RAID1 更换坏硬盘1 买块容量一样大小的硬盘 2 把新买的硬盘安装到机器了 3 分区硬盘并把 t 的类型设为 fd 我新添加的硬盘盘符为 dev sdb fdisk dev sdb4 运行 partprobe 让内核重新装载分区表 5 停止 RAID1 的挂载 umount dev md06 移除损坏的设备 mdadm dev md0 r de

    2025年8月4日
    2
  • 一线工程师告诉你嵌入式真实现状与发展前景「建议收藏」

    个人说明:本人并不是年薪百万的技术大牛,但总算是一名合格的嵌入式工程师,现在某企业担任嵌入式软件工程师开发一职,以下观点可能会带有片面或者分析不全,但却是一名一线企业嵌入式软件开发者真实感受和所得,希望能帮助那些有需要的人,我明白年轻人出来打拼都不容易。为何要写这片文章?小生也是过来人,踩过你们踩过的坑百度搜索“嵌入式”、“嵌入式开发”、“嵌入式发展前景”等字眼,出来的都是一大堆培训机构,…

    2022年4月4日
    72
  • 用java输出语句_Java的常用输入输出语句

    用java输出语句_Java的常用输入输出语句一、概述输入输出可以说是计算机的基本功能。作为一种语言体系,java中主要按照流(stream)的模式来实现。其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStream),由计算机发出的数据流叫做输出流(outputStream)。Java语言体系中,对数据流的主要操作都封装在java.io包中,通过java.io包中的类可以实现计算机对数据的输入、输出操作。在编…

    2022年7月7日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号