如何防止 JSON.stringify() 更改日期?
How to prevent JSON.stringify() from altering date?
我阅读了有关此的所有页面,但是 none 有满足我需要的简单解决方案。
在 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 数据库中。我从外部 API 获取 ISO 8601 格式的日期,但我不想存储时区信息。
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
我阅读了有关此的所有页面,但是 none 有满足我需要的简单解决方案。
在 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 数据库中。我从外部 API 获取 ISO 8601 格式的日期,但我不想存储时区信息。
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