mysql从表数据返回错误的时间

k4ymrczo  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(267)

我在一个表中有数据,其中一列是datetime。

select time from tbdt where unix_timestamp(time) > unix_timestamp(now()) order by time asc limit 1

现在nodejs在console.log()中打印错误的时间,
实际日期时间为 2018-12-16 15:00:00 在db表中。。但是mysql回来了 2018-12-16T09:30:00.000Z 差5小时30分钟,我的时区是+5:30(ist)
我不知道到底哪里出了问题,不管是在mysql还是在node js中

ssm49v7z

ssm49v7z1#

需要使用 convert_tz mysql中的函数。

SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+5:30');

签名如下:

CONVERT_TZ(dt,from_tz,to_tz)

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_convert-tz公司

wn9m85ua

wn9m85ua2#

您应该检查mysql运行的服务器时间,因为它将从托管mysql的服务器上选择时间。
这是由mysql完成的,而不是由nodejs完成的,您可以通过控制台或sqldeveloper工具将上述查询直接运行到数据库中来验证这一点。

相关问题