Сравните даты на сервере для определенного часового пояса - PullRequest
0 голосов
/ 13 мая 2019

На сервере мне нужно определить, находятся ли два момента времени в один и тот же день по местному времени клиентов.

Дата на сервере сохраняется в UTC:

Дата A: 2019-10-24T22: 00: 00.000Z

Дата B: 2019-10-25T17: 00: 00.000Z

В моем местном часовом поясе (+2: 00) эти две даты находятся в один и тот же день, но если я сравниваю их на сервере, они не совпадают.

Нужно ли мне получать часовой пояс клиента на сервере для сравнения дат или есть другой шаблон для решения этой проблемы?

Как мне создать дату с часовым поясом для сравнения?

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Для решения этой проблемы вы можете использовать часовой пояс моментальный момент https://momentjs.com/timezone/ Где вы можете преобразовать время вашего сервера в часовой пояс перед выполнением каких-либо вычислений.

лучший способ - сохранить временную метку всервер, который является миллисекундами после эпохи, таким образом, вы всегда находитесь на одной странице

0 голосов
/ 13 мая 2019

Если вы сохраняете UTCDATE на сервере, то вам поможет следующий код, поскольку вам просто нужно передать текущее смещение часового пояса в минутах, как указано ниже

DECLARE @Offset as int = 300    
SELECT DATEADD(MINUTE, CONVERT(int,@Offset), GETUTCDATE())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...