SQL Метка времени сервера верна -> javascript Дата неверна - PullRequest
0 голосов
/ 24 февраля 2020

Мы живем в центральном часовом поясе США, поэтому на 6 часов отстаем от времени UT C. Мы храним метку времени в SQL серверной БД для каждого комментария, вставленного с использованием CURRENT_TIMESTAMP. Когда я просматриваю базу данных в SQL Server Management Studio, она показывает правильное текущее время CST. Так что, если я ввели комментарий прямо сейчас, и мое компьютерное время говорит, что это 9:31, БД покажет 9:31 для введенного комментария. Я не уверен, правильно ли это, или если предполагается, что он показывает время UT C, которое согласно https://www.timeanddate.com/worldclock/timezone/utc сейчас равно 15:31.

Так что я Я собираю комментарии и данные из БД с помощью Node и передаю их в наше приложение React. Попав в React, я запускаю этот код, чтобы преобразовать метку времени в js объект Date: const commentDate = new Date(comment.date);. Теперь, когда я утешаю, это показывает, что на 6 часов отстает от текущего времени. Поэтому в настоящее время я вручную добавляю 6 часов после преобразования в объект данных, чтобы получить правильное время. Очевидно, это не идеально. Я полагаю, что после переключения DST это больше не будет правильно.

Так в чем же проблема? Это способ хранения в БД? Должен ли он на самом деле сказать 15:31 при просмотре БД? Или это то, как я анализирую / конвертирую его, когда получаю его в свой javascript?

...