Firebase & Swift - Дата сохранена с UTC-7? - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь понять, как именно даты сохраняются в CloudFirestore Firebase ...

Когда я помещаю текущую дату в базу данных dateToSAve = Date(), эта дата сохраняется в UTC-7:

enter image description here

Но если кто-то во Франции, например, захочет сохранить данные в Firebase, это будет текущая дата -9 часов, чтобы соответствовать UTC-7

И иногда из-за этого может быть другой день ... Вы знаете, как справиться с этой проблемой?Я хотел бы сохранить в базе данных текущую дату пользователя.

1 Ответ

0 голосов
/ 03 сентября 2018

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

Дляполучение отметки времени в формате UTC 0:

let timestamp = Date().timeIntervalSince1970

И для преобразования отметки времени обратно в дату с временной частью в вашем текущем часовом поясе:

// gives date with time portion in UTC 0
let date = Date(timeIntervalSince1970: timestamp)

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMM-dd-yyyy"  // change to your required format
dateFormatter.timeZone = TimeZone.current

// date with time portion in your specified timezone
print(dateFormatter.string(from: date)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...