我用sequelize和mysql开发了node js服务,一切正常。我将数据存储在数据库中,带有日期和服务时间,但是如果我使用服务获得相同的数据,节点js会自动转换时间(数据库中没有错误的格式),我希望数据库中存在相同的时间。为了解决这个问题,我在服务和数据库中设置了时区,但它们都不起作用。有人能给我提供解决办法吗。
4c8rllxm1#
这不是node js的问题,sequelize默认以utc表示时间,因此日期时间是正确的检查:只需将您的日期时间与utc进行比较,就可以检查您得到的是什么。解决方案:所以你可以做的是,只要把返回的日期和时间转换成你的时区,你就可以走了。这是一个很好的做法,如果您在任何地方都使用utc,那么当您在许多国家/地区获得/展示时,您都可以获得好处。
eqzww0vc2#
例如,您可以在mysql中包含时间格式函数
SELECT TIME_FORMAT("19:30:10", "%H %i %s");
结果时间格式(“19:30:10”,“%h%i%s”)19 30 10裁判
2条答案
按热度按时间4c8rllxm1#
这不是node js的问题,sequelize默认以utc表示时间,因此日期时间是正确的
检查:只需将您的日期时间与utc进行比较,就可以检查您得到的是什么。
解决方案:所以你可以做的是,只要把返回的日期和时间转换成你的时区,你就可以走了。
这是一个很好的做法,如果您在任何地方都使用utc,那么当您在许多国家/地区获得/展示时,您都可以获得好处。
eqzww0vc2#
建议
例如,您可以在mysql中包含时间格式函数
结果
时间格式(“19:30:10”,“%h%i%s”)19 30 10
裁判