Mysql дата-время отличается в Javascript - PullRequest
1 голос
/ 04 июня 2019

Я публикую здесь сегодня, потому что я столкнулся с проблемой хранения Datetime в MySQL с Javascript.Дата и время, которые я храню, и которые я вижу в Phpmyadmin, не совпадают с датой и временем, полученным с помощью запроса (Выбрать)

Я думаю, что это проблема, связанная с часовым поясом, но я не знаю, как ее решить.этот.Я пытался сэкономить время в UTC с помощью

UTC_TIMESTAMP()

Но я все еще не могу получить правильную дату и время.

Я храню дату и время:

connection.query("UPDATE `users` SET `last_disconnect` = now() WHERE `users`.`uuid` = ?", [userId])

(Я пытался создать новую дату в Javascript и сохранить ее, но она такая же)

Здесь хранится дата и время (дата, которую я вижу в Phpmyadmin):

2019-06-04 21:19:39

Вот мой запрос:

connection.query("SELECT last_disconnect FROM users WHERE uuid=?", [userId])

Вот что я получил с запросом:

2019-06-04T20:19:39.000Z

Вот что я получил, когда создал новую дату с этим:

console.log(new Date(dateFromRequest))

->

Tue Jun 04 2019 22:19:39 GMT+0200 (heure d’été d’Europe centrale)

Дата и время, которое я хочу получить в Javascript, - это дата и время, сохраненные в Mysql:

2019-06-04 21:19:39

Мой часовой пояс GMT + 2

КогдаЯ проверяю дату и время в Mysql: Timezone + 0200

Кто-нибудь знает, что не так с тем, что я делаю?

Заранее спасибо!

1 Ответ

2 голосов
/ 04 июня 2019

mysqljs - Параметры подключения # dateStrings Выполнить запрос без dateStrings

connection.query('SELECT * FROM user', function (error, results, fields) {
    if (error) throw error;
    console.log(results[0].registerDate)
});

Вывод

_> node index.js
2018-06-04T20:13:17.000Z

Выполнить тот же запрос но с dateStrings

const connection = mysql.createConnection({
    user: 'root',
    password: '1234',
    database: 'test',
    dateStrings: true // yo, im here
});

Выход

_> node index.js
2018-06-04 23:13:17

Простой пример

connection.query('SELECT * FROM user', function (error, results, fields) {
    if (error) throw error;
    results.map(x => {
        const date = new Date(x.registerDate);
        console.log(date.getFullYear())
    })
});

Выход

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