说明
一般研发中可能涉及的时区:数据库、代码中。
咱们所在时区为东八区,而默认时区为0区,差距八个小时,所以每次在与数据库交互时就会发生八小时的误差,
jdbc:mysql://localhost:3306/friend?useSSL=false&serverTimezone=Asia/Shanghai
1. 数据库
jdbc连接时可通过serverTimezone=UTC设置jdbc:mysql://59.110.137.112:3306/answer?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=UTC&nullCatalogMeansCurrent=true
创建表时或添加字段时指定默认时间(不建议)。推荐代码传参入库
2. 代码
方法一:JVM运行时增加参数,指定时区 -Duser.timezone=UTC
方法二:直接在程序中设置时区。System.setProperty(“user.timezone”,”UTC″);