Запись в firestore в облачной функции firebase меняет мои даты

Работаем над проектом flutter / dart. Вызов облачной функции со стороны клиента и передача 2 дат, которые преобразуются в ISO8601String.

Печать дат на консоль при выполнении облачной функции для двойной проверки. Они всегда действительны. После создания документа в firestore даты сдвигаются на 1 час.

Я думаю, из-за моего текущего смещения часового пояса, который равен UTC + 1. Летом у меня была такая же проблема, когда firestore сдвигал мои даты на 2 часа из-за летнего времени, что приводило к смещению UTC + 2.

Мои облачные функции развернуты в регионе: europe-west3, который, согласно документации firebase, находится во Франкфурте. Тот же часовой пояс, что и мой (центральноевропейское стандартное время). Но когда я создаю:

const now = new Date();

Результат на час меньше моего местного времени. Почему это происходит, когда мы находимся в одном часовом поясе с одинаковым смещением?

Чтение документов из пожарного хранилища на стороне клиента приводит к неточным датам, что для меня очень плохо, поскольку мне нужно, чтобы они были точными.

Я искал везде, но не нашел ничего, что действительно помогло бы мне. Я пытался построить объект даты разными способами, но результат всегда был одинаковым, может кто-нибудь объяснить мне, почему, и помочь мне? Спасибо.

Отвечает ли это на ваш вопрос? Метка времени Firestore.fromDate, а не UTC   —  person pasty    schedule 05.01.2021

Да спасибо. Также у меня была еще одна проблема в моем коде, но мне уже удалось ее исправить.   —  person pasty    schedule 05.01.2021

См. также:  Асинхронная функция не завершается
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. pasty

    Дата объекта Java фактически не содержит информации о часовом поясе, это просто количество миллисекунд с начала эпохи (01.01.1970 00:00:00 UTC) и, следовательно, абсолютный момент времени.

    Он преобразуется в действительное время каждый раз, когда выводится пользователю.

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

    Для получения дополнительной информации см. этот вопрос или документация по Java.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: