我在SO上阅读了关于此的所有页面,但没有一个能够提供我需要的简单解决方案。
在MySQL数据库中,我有名为'start'的DATETIME字段。其中的一个示例记录是:
2015-12-28 06:20:00
当我从数据库中获取此数据时,结果对象中的日期与数据库中的相同,但是当我在结果对象上使用JSON.stringify方法时,它会将此日期保存为2015-12-28 05:20:00。
如何防止这种情况,我只想要与数据库中的日期相同,而不需要转换为本地时区?
编辑:
这就是我的SQL查询结果:
start: Mon Dec 28 2015 06:20:00 GMT+0100 (Central Europe Standard Time),
这是在调用JSON.stringify:
之后"2015-12-28T05:20:00.000Z"
我的电脑是GMT + 0100。但我不希望任何时区信息都存储在JSON中,也不希望存储在MySQL数据库中。我从ISO 8601格式的外部API获取日期,但我不想存储时区信息。
答案 0 :(得分:0)
var db_config = {
host : 'localhost',
user : 'xxx',
password : '',
database : 'xxx',
timezone: 'utc' //<-here this line was missing
};
那个时区变量解决了我的问题。我在这里找到了答案:NodeJS responded MySQL timezone is different when I fetch directly from MySQL