MySql меняет даты при выборе записей - PullRequest
0 голосов
/ 10 сентября 2018

Я использую sequelize ORM с NodeJs.Когда я передаю значение в столбец DateTime в предложении where, оно автоматически добавляет локальное смещение.

Например, я пишу это.

TripDetail.findOne({
   where: {
      trip_detail_id: trip_id,
      trip_detail_trip_start: '2017-10-05 15:27:38'
   },
})

Запрос, который он показывает, - это журнал

SELECT * 
FROM `tbl_trip_detail` AS `TripDetail` 
WHERE `TripDetail`.`trip_detail_id` = 1
AND
`TripDetail`.`trip_detail_trip_start` = '2017-10-05 22:27:38'

Моя конфигурация для продолжения

{
user: 'root',
password: '',
database: 'abc',
dialect: 'mysql',
options: {
  dialect: 'mysql',
  host: 'localhost',
  port: 3306,
  logging: console.log, // or specify sails log level to use ('info', 'warn', 'verbose', etc)
  dialectOptions: {
    timezone: 'utc', //for reading from database
    dateStrings: true,
    typeCast: function (field, next) { // for reading from database
      if (field.type === 'DATETIME') {
        return field.string()
      }
      return next()
    }
  },
},

}

Я также попытался полностью удалить объект dialectOptions.

1 Ответ

0 голосов
/ 10 сентября 2018

Вы должны установить правильный часовой пояс в вашей конфигурации для продолжения, например:

 timezone: '+08:00'

это зависит от того, какой часовой пояс вы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...