大兵马元帅 发表于 2021-9-4 11:55

△nodejs连接数据库设置mysql时区,谢谢各位!

本帖最后由 大兵马元帅 于 2021-9-4 11:58 编辑

图片一:nodejs连接数据库代码。图片二:数据库内容(日期字段)显示正常。
图片三:前端接收到后显示不正常,要比本地时间晚8个小时,百度后确认是时区不一样
以上问题可否通过nodejs连接数据库时通过代码实现,谢谢各位!
一下两种方法都试过没有效果:

[*]mysql> set time_zone='+8:00';
[*]修改配置文件my.ini,增加default-time_zone = '+8:00'




羊毛丶 发表于 2021-9-4 11:55

大兵马元帅 发表于 2021-9-4 16:34
加了一行代码也不行啊

看都能看错?
我要你加的是 timezone: 'Asia/Shanghai'
你加的是什么?:rggrg

luckydog 发表于 2021-9-4 12:45

直接在my.ini文件里面设置就行了

大兵马元帅 发表于 2021-9-4 12:51

luckydog 发表于 2021-9-4 12:45
直接在my.ini文件里面设置就行了

我试过了 还是不行啊

传说中的沙发 发表于 2021-9-4 13:01

mysql字段改成Datetime格式试试

大兵马元帅 发表于 2021-9-4 13:07

传说中的沙发 发表于 2021-9-4 13:01
mysql字段改成Datetime格式试试

刚试了试,是一样的效果

157239486 发表于 2021-9-4 13:35

数据库正常,前端显示不正常,直接在前端拿到数据转换下就行了,别在mysql那里改了,要么最简单的把时间字段设置成varchar或者long这些,如果是varchar肯定是正常的,long类型的话前端拿到一个new date()就转换过来了

大兵马元帅 发表于 2021-9-4 13:42

157239486 发表于 2021-9-4 13:35
数据库正常,前端显示不正常,直接在前端拿到数据转换下就行了,别在mysql那里改了,要么最简单的把时间字 ...

因为服务器拿到前端传过来的数据(日期),也要和数据库内的数据(日期)作对比,所以我认为还是用data类型比较合适:'(weeqw

大兵马元帅 发表于 2021-9-4 14:15

还有没有人啊{:1_908:}

羊毛丶 发表于 2021-9-4 15:42

timezone: 'Asia/Shanghai'

在连接参数加上这个
https://www.runoob.com/nodejs/nodejs-mysql.html
页: [1] 2
查看完整版本: △nodejs连接数据库设置mysql时区,谢谢各位!