切换到宽版
  • 676阅读
  • 0回复

mysql 中出现保存时日期类型的字段天数累加问题(加1) [复制链接]

上一主题 下一主题
离线yedehu
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2021-09-06
数据库类型:mysql在系统测试过程中,发现日期类型的字段,输入框为日期框,点击保存时此字段值会自动加1天,经排查,问题定位为mysql连接字符串中的serverTimezone属性问题,原来的连接串为:
jdbc:mysql://127.0.0.1:3306/ydt?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true



尝试了GMT、GMT8、UTC+8,UTC0800等可能的参数均报错。后来在mysql文档中发现可用的时区都在/usr/share/zoneinfo目录下,发现可用的时区信息如下:



lewis@lewis-dzwww:/usr/share/zoneinfo$ ll
总用量 308
drwxr-xr-x  21 root root  4096 5月  27 12:54 ./
drwxr-xr-x 334 root root 12288 6月  21 15:11 ../
drwxr-xr-x   2 root root  4096 5月  27 12:56 Africa/
drwxr-xr-x   6 root root  4096 5月  27 12:56 America/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Antarctica/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Arctic/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Asia/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Atlantic/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Australia/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Brazil/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Canada/
-rw-r--r--   1 root root  2102 4月  21 02:09 CET
drwxr-xr-x   2 root root  4096 5月  27 12:56 Chile/
-rw-r--r--   1 root root  2294 4月  21 02:09 CST6CDT
-rw-r--r--   1 root root  2437 4月  21 02:09 Cuba
-rw-r--r--   1 root root  1876 4月  21 02:09 EET
-rw-r--r--   1 root root  1972 4月  21 02:09 Egypt
-rw-r--r--   1 root root  3559 4月  21 02:09 Eire
-rw-r--r--   1 root root   127 4月  21 02:09 EST
-rw-r--r--   1 root root  2294 4月  21 02:09 EST5EDT
drwxr-xr-x   2 root root  4096 5月  27 12:56 Etc/
drwxr-xr-x   2 root root  4096 5月  27 12:56 Europe/
-rw-r--r--   1 root root   264 4月  21 02:09 Factory
-rw-r--r--   1 root root  3687 4月  21 02:09 GB
lrwxrwxrwx   1 root root     2 5月  27 09:07 GB-Eire -> GB
-rw-r--r--   1 root root   127 4月  21 02:09 GMT
lrwxrwxrwx   1 root root     3 5月  27 09:07 GMT0 -> GMT
lrwxrwxrwx   1 root root     3 5月  27 09:07 GMT-0 -> GMT
lrwxrwxrwx   1 root root     3 5月  27 09:07 GMT+0 -> GMT
lrwxrwxrwx   1 root root     3 5月  27 09:07 Greenwich -> GMT
-rw-r--r--   1 root root  1189 4月  21 02:09 Hongkong
-rw-r--r--   1 root root   128 4月  21 02:09 HST
-rw-r--r--   1 root root  1190 4月  21 02:09 Iceland
drwxr-xr-x   2 root root  4096 5月  27 12:56 Indian/
-rw-r--r--   1 root root  1678 4月  21 02:09 Iran
-rw-r--r--   1 root root  4475 2月  24 17:01 iso3166.tab
-rw-r--r--   1 root root  2265 4月  21 02:09 Israel
-rw-r--r--   1 root root   507 4月  21 02:09 Jamaica
-rw-r--r--   1 root root   355 4月  21 02:09 Japan
-rw-r--r--   1 root root   237 4月  21 02:09 Kwajalein
-rw-r--r--   1 root root 10384 2月  22 23:58 leap-seconds.list
-rw-r--r--   1 root root   655 4月  21 02:09 Libya
lrwxrwxrwx   1 root root    14 5月  27 09:07 localtime -> /etc/localtime
-rw-r--r--   1 root root  2102 4月  21 02:09 MET
drwxr-xr-x   2 root root  4096 5月  27 12:56 Mexico/
-rw-r--r--   1 root root   127 4月  21 02:09 MST
-rw-r--r--   1 root root  2294 4月  21 02:09 MST7MDT
-rw-r--r--   1 root root  2453 4月  21 02:09 Navajo
-rw-r--r--   1 root root  2460 4月  21 02:09 NZ
-rw-r--r--   1 root root  2057 4月  21 02:09 NZ-CHAT
drwxr-xr-x   2 root root  4096 5月  27 12:56 Pacific/
-rw-r--r--   1 root root  2705 4月  21 02:09 Poland
-rw-r--r--   1 root root  3453 4月  21 02:09 Portugal
drwxr-xr-x  19 root root  4096 5月  27 12:56 posix/
-rw-r--r--   1 root root  3545 4月  21 02:09 posixrules
-rw-r--r--   1 root root   414 4月  21 02:09 PRC
-rw-r--r--   1 root root  2294 4月  21 02:09 PST8PDT
drwxr-xr-x  19 root root  4096 5月  27 12:56 right/
-rw-r--r--   1 root root   800 4月  21 02:09 ROC
-rw-r--r--   1 root root   571 4月  21 02:09 ROK
-rw-r--r--   1 root root   428 4月  21 02:09 Singapore
drwxr-xr-x   2 root root  4096 5月  27 12:56 SystemV/
-rw-r--r--   1 root root  2747 4月  21 02:09 Turkey
-rw-r--r--   1 root root   127 4月  21 02:09 UCT
lrwxrwxrwx   1 root root     4 5月  27 09:07 Universal -> Zulu
drwxr-xr-x   2 root root  4096 5月  27 12:56 US/
lrwxrwxrwx   1 root root     4 5月  27 09:07 UTC -> Zulu
-rw-r--r--   1 root root  1873 4月  21 02:09 WET
-rw-r--r--   1 root root  1528 4月  21 02:09 W-SU
-rw-r--r--   1 root root 17533 4月  13 16:01 zone1970.tab
-rw-r--r--   1 root root 19014 4月  13 16:01 zone.tab
-rw-r--r--   1 root root   127 4月  21 02:09 Zulu




为解决此问题,可以选择东8区的Hongkong、Asia/Shanghai或者Asia/Hongkong作为参数,修改后url为:



jdbc:mysql://127.0.0.1:3306/ydt?useUnicode=true&characterEncoding=utf-8&serverTimezone=Hongkong&allowMultiQueries=true

问题解决!




快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个