Сохранение определенной даты и времени в базе данных Firestore с использованием функции отметки времени - Swift 4 - PullRequest
0 голосов
/ 12 сентября 2018

Как мне создать объект даты в swift 4, который не является текущей датой? Например, 3 декабря 2019 года в 14:35. Затем, как мне записать этот объект в документ в базе данных пожарного магазина в качестве метки времени?

Ответы [ 2 ]

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

, если ваши даты в строковом формате, например 2019/12/03 14: 35

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm"
let date = dateFormatter.date(from: "2019/12/03 14:35")

Вы можете отправить объект даты в пожарный магазин вот так

let data:[String: Any] = ["notCurrentDate":date]

let db = Firestore.firestore()

db.collection("data").document("document").setData(data) { err in
  if let err = err {
      print("Error writing document: \(err)")
  } else {
      print("Document successfully written!")
  }
}
0 голосов
/ 13 сентября 2018

Вы можете создать объект DateFormatter для преобразования собственных объектов Date назад и вперед в строки и указывать свои даты в виде строк, но я не рекомендую этого.

Взгляните на класс Calendar иDateComponents класс.Функция Calendar с подписью

func date(from components: DateComponents) -> Date?

позволяет использовать объект DateComponents для создания даты.

Таким образом, вы можете использовать такой код:

let calendar = Calendar.current
let components = DateComponents(
  calendar: calendar,
  year: 2019, 
  month: 12, 
  day: 3, 
  hour: 14, 
  minute: 39)

if let date = calendar.date(from: components) {
    print(DateFormatter.localizedString(
        from: date, 
        dateStyle: .medium, 
        timeStyle: .medium))
}

Что бы вывести

Dec 3, 2019 at 2:39:00 PM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...