java 解决date类型的时间插入mysql中差8小时的问题

使用的是java.util.Date,插入数据库以后时间会差8小时,比如现在的时间是2020-01-20 09:17:00,插入数据库的时间为2020-01-20 01:17:00,经过研究发现是配置文件中日期时区配置的不对。

  • 我以application.yml举例,修改日期配置,将最后的UTC改为
    1.错误的代码为
url: jdbc:mysql://localhost:3306/webglpt?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC

2.正确的代码为

url: jdbc:mysql://localhost:3306/webglpt?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=CTT

目前存在的时区有:

  • GMT 格林威治标准时间 GMT
  • UTC 全球标准时间 GMT
  • ECT 欧洲中部时间 GMT+1:00
  • EET 东欧时间 GMT+2:00
  • ART (阿拉伯)埃及标准时间 GMT+2:00
  • EAT 东非时间 GMT+3:00
  • MET 中东时间 GMT+3:30
  • NET 近东时间 GMT+4:00
  • PLT 巴基斯坦拉合尔时间 GMT+5:00
  • IST 印度标准时间 GMT+5:30
  • BST 孟加拉国标准时间 GMT+6:00
  • VST 越南标准时间 GMT+7:00
  • 北京、重庆、香港特别行政区、乌鲁木齐时间 GMT+8:00
  • JST 日本标准时间 GMT+9:00
  • ACT 澳大利亚中部时间 GMT+9:30
  • AET 澳大利亚东部时间 GMT+10:00
  • SST 所罗门标准时间 GMT+11:00
  • NST 新西兰标准时间 GMT+12:00
  • MIT 中途岛时间 GMT-11:00
  • HST 夏威夷标准时间 GMT-10:00
  • AST 阿拉斯加标准时间 GMT-9:00
  • PST 太平洋标准时间 GMT-8:00
  • PNT 菲尼克斯标准时间 GMT-7:00
  • MST 西部山脉标准时间 GMT-7:00
  • CST 中部标准时间 GMT-6:00
  • EST 东部标准时间 GMT-5:00
  • IET 印第安那东部标准时间 GMT-5:00
  • PRT 波多黎各和美属维尔京群岛时间 GMT-4:00
  • CNT 加拿大纽芬兰时间 GMT-3:30
  • AGT 阿根廷标准时间 GMT-3:00
  • BET 巴西东部时间 GMT-3:00
  • CAT 中非时间 GMT-1:00

你可能感兴趣的:(java 解决date类型的时间插入mysql中差8小时的问题)