Полностью удалить часовой пояс из SQL Server - PullRequest
0 голосов
/ 28 октября 2019

РЕДАКТИРОВАТЬ: Некоторые пользователи отметили, что это дубликат вопроса ADO.NET на Как я могу получить данные DateTime из SQL Server, игнорируя проблемы с часовыми поясами?

Пожалуйста, ДЕЛАЙТЕПРОЧИТАЙТЕ мои теги и мои коды. Это вопрос nodejs , который не имеет никакого отношения к библиотеке ADO . Это даже не работает на Windows. Опция, указанная по указанной ссылке, даже не существует в mssql-npm

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

Проблема с SQL Server заключается в том, что я читаю рабочее время по-разному для каждого часового пояса. Он регистрируется как 1969-12-31T23:00:00.000Z и регистрируется как 06:00 для одной временной шкалы и 08:00 для другой. Мне нужно, чтобы это было ровно в 08:00 независимо от часового пояса. Это значит, 08:00 в западной части моей страны, а также 08:00 в восточной части моей страны.

Когда я пытаюсь отключить UseUTC, nodejs дважды переводит мой часовой пояс. Например, это когда я отправил поле masuk как 08: 00


Отправлено на сервер:

Sent to server


Запрос отправлен на SQL Server:

UPDATE shift SET name = 'Shift 1', masuk = '2019-10-28T01:00:00.000Z', keluar = '2019-10-28T10:00:00.000Z', tolerance = 15 WHERE id = 1


Полученорезультат назад

result


И показывается пользователю как:

Show to user

Моя страна работает с GMT + 7 до GMT + 9. Я не против, если мне придется сгладить часовой пояс. Но как это сделать? Есть ли способ прочитать время, полностью игнорируя часовой пояс? Это делает мою работу излишне сложной.

Я использую:

  • SQL Server 2012
  • UI материала
  • date-fns
  • Nodejs 12
  • модуль mssql

и это мой код для получения времени от пользовательского ввода

<MuiPickersUtilsProvider utils={DateFnsUtils}>
    <KeyboardTimePicker
        key={component.field.toString()}
        variant="inline"
        value={value}
        label={component.title}
        onChange={this.eventHandler(component.field).bind(this)}
        format="HH:mm"
    />
</MuiPickersUtilsProvider>

Спасибо за помощь.

База данных использует time(7) для хранения времени

...