Nodejs和mysql数据库时区问题

时间:2017-05-07 20:33:35

标签: mysql node.js express timezone

我的服务器时区的时间不好

使用nodejs作为后端并表达服务路由

我使用正确的服务器更改了服务器的时间: -

  

dpkg-reconfigure tzdata

我检查了服务器时间,看起来不错

正在使用

  

数据

获取当前时间,这对我的国家(沙特阿拉伯)来说是正确的

问题是当数据库中创建的记录仍然在3小时的延迟内给我错误的时间!!!!

所以数据库时间和服务器是正确的,怎么用错误的时间创建记录?

2 个答案:

答案 0 :(得分:1)

在数据库中保存的时间是UTC。由于沙特阿拉伯时间为UTC + 3h,您可以看到时间间隔为3小时。我建议你保持db时区的原样,并且每当你检索一条记录时,加上3小时的时间将其转换为沙特时间。
同样,如果您想按时间搜索,请从您想要搜索的时间中减去3,从而将其转换为UTC时间。

答案 1 :(得分:0)

我记得这解决了有关时区的错误。

var timeZoneDifference=(this.date.getTimezoneOffset()-dateFuture.getTimezoneOffset())/60;