Вот мой сценарий
мой API использует локальное время и дату, когда пользователи в последний раз могут отправлять свои работы.
Я хочу сохранить дату и время в локальном время вместе с часовым поясом, таким образом я могу применить смещение часового пояса для преобразования в UT C перед отправкой даты клиенту. Это должно работать, даже если летнее время изменяется после сохранения даты.
Но MongoDB сохраняет даты только в формате UT C, по крайней мере, с java -mon go, где оно преобразует местное время в UT C перед сохранением в базу данных. Я не могу сохранить свою дату без предварительного преобразования ее в UT C.
Итак, мой второй подход заключается в том, чтобы получить локальную дату из запроса и преобразовать ее в UT C на основе информации timeZone, которую я уже есть. Этот подход будет работать нормально, если только в сценарии, когда переход на летнее время изменился после сохранения даты, но до истечения этой даты.
например, локальная дата, полученная от клиента, составляет 2020-03-28 00:00
, который находится в +4 UT C , Я конвертирую его в UT C и сохраняю как 2020-03-28T20:00:00Z
. Но если летнее время меняется в течение этого периода, пользователи могут получить еще один час, чтобы представить свою работу.
Итак, мой вопрос: как мне справиться с таким сценарием, если я сохраню дату в UT C, или предложить что-то еще.