У меня в таблице есть столбец updatedAt
User
, который имеет тип Date
, он хранит дату вместе со временем.Я хочу сделать запрос, используя только дату, а не дату и время.Я использую операторы sequelize Sequelize.Op.gt
и Sequelize.Op.lt
, чтобы обновить Users
на эту точную дату независимо от времени, добавив 24 * 60 * 60 * 1000
.Но дата не увеличивается на один день.Когда я пытаюсь вычесть, это работает безупречно.Я мог бы добавить один день только после использования метода getTime ().
Я не уверен, почему он работает при вычитании без использования getTime()
, но не работает при добавлении.Кто-нибудь может объяснить?
TL; DR
Это работает:
[Sequelize.Op.gt]: new Date(new Date(updatedAt) - 24 * 60 * 60 * 1000)
//updateAt: 2018-11-27
//output: 2018-11-26
Это не работа:
[Sequelize.Op.gt]: new Date(new Date(updatedAt) + 24 * 60 * 60 * 1000)
//updateAt: 2018-11-27
//output: 2018-11-27
и эта работа:
[Sequelize.Op.lt]: new Date(new Date(updatedAt).getTime() + 24 * 60 * 60 * 1000)
//updateAt: 2018-11-27
//output: 2018-11-28