Ale*_*exB 6 timezone datetime timestamp express sails.js
当我在sails上创建或更新记录时,请在updateAt上写下:
updatedAt: 2014-07-06T15:00:00.000Z
Run Code Online (Sandbox Code Playgroud)
但是我在GMT + 2小时(本赛季)并且更新在16:00进行.
我的模型中声明的所有日期时间字段都存在同样的问题.
如何在Sails(或最终Express)上设置正确的时区?
Edo*_*yde 10
我经过几个小时的研究后处理问题的方式:
放
process.env.TZ = 'UTC'; //whatever timezone you want
在 config/bootstrap.js
试图通过在服务器上设置时区来解决问题有点短视。如果你搬家怎么办?或者其他国家/地区的某人访问您的应用程序?重要的是数据库中的时间戳有一个时区编码,以便您可以在前端转换为正确的时间。也就是说,如果你这样做:
new Date('2014-07-06T15:00:00.000Z')
Run Code Online (Sandbox Code Playgroud)
在浏览器控制台中,无论您身在何处,您都应该看到它显示正确的日期和时间。Sails 使用默认值updatedAt
和createdAt
字段自动为您编码此时间戳;只需确保在将任何自定义时间戳保存到数据库时始终使用时区,就可以了!