• yml链接mysql路径serverTimezone=UTC的那些坑


    转载于 :https://blog.csdn.net/baidu_38837718/article/details/104981617

    serverTimezone=UTC的那些坑


    **

    UTC

    **
    首先,介绍一下什么是UTC,UTC,简称世界统一时间,跟北京时间相比,比北京早8个小时,也就是说,北京2020年3月20日18点的时候,UTC时间为2020年3月20日10点

    **

    **
    如果你用编译器连接数据库,定义了serverTimezone=UTC,那么在你编译器上执行的SQL语句,会先以UTC时区进行存储,发送到MySQL,然后MySQL以本地时区进行转换,就会导致,执行时间比从编译器上的执行时间早8个小时,导致,同一段SQL语句,在mysql直接执行,与编译器执行,结果不同,因为时间相差8个小时

    serverTimezone=UTC
    统计3月13日到3月19日的数据,Navicat运行右下角显示有21条记录
    在这里插入图片描述
    传到编译器却显示只有18条记录
    在这里插入图片描述
    原因如下:
    编译器上设置的时区属性会UTC,虽然传往后台的时间是2020-03-13 03:17:33.408(Timestamp), 2020-03-19 03:17:33.408(Timestamp),但是在没到达后台之前,进行了一次存储,以UTC时区进行存储,也就是2020-03-12 19:17:33.408(Timestamp), 2020-03-18 19:17:33.408(Timestamp),然后到达后台后,取出,进行查询的时间段,就早了8个小时,也就只有18条记录
    在这里插入图片描述
    解决方式
    将属性设置为
    serverTimezone=Asia/Shanghai
    在这里插入图片描述

  • 相关阅读:
    Windows 系统里面的 hosts 文件
    JDK 安装目录中 native2ascii.exe 命令详解
    火狐浏览器安装 Modify Headers 插件
    java iterator
    HashSet HashTable HashMap的区别
    c# 序列化
    Oracle 同步
    QL Server 高可用性(一)AlwaysOn 技术
    sqlserver 日志传送
    oracle forall
  • 原文地址:https://www.cnblogs.com/Hello-TomCat/p/13898136.html
Copyright © 2020-2023  润新知