我们尝试使用以下查询插入日期时间值 - 插入产品(name,createdon)值('product1',now()) 我们正在使用sequelize触发原始查询。 该值以UTC格式存储。
直接从MySQL触发相同的查询,将值存储在本地时间。
我们需要以本地时间而不是UTC格式存储的值。我们如何在这里实现这一目标?
答案 0 :(得分:3)
我也面临同样的问题。在连接sequlize和Mysql时,您可以传递timezone
。因此,它将始终使用此timezone
来保存数据。这是我发现的:
var sequelize = new Sequelize('database', 'username', 'password', {
timezone: '+05:30', //here you can pass timezone
host: 'host',
logging: true,
});
但这不是一个好的解决方案,因为如果您使用来自2个不同时区的应用程序,那么它将使用相同的时区,因此数据将不正确。
好的解决方案始终使用UTC timezone:'00:00'
来保存数据,同时以用户的适当时区格式显示结果。这意味着如果用户从US
访问网站以US's
格式操作DateTime并显示,并且您从India
访问数据然后以India's
格式操作DateTime并显示。为此,您需要执行一些DateTime操作。对于此操作,您可以使用Moment.js。