Как получить дату метки из пожарного магазина Firebase? - PullRequest
0 голосов
/ 30 ноября 2018

Как получить правильную временную метку в iOS из Firebase Firestore?

enter image description here

У меня есть поле с именем playerLoginTime: November 30, 2018 at 4:12:20 PM UTC+5:30

Но когда я пытаюсь получить, я получаю неправильные результаты.

2018-11-30 10:47:12 + 0000

Я хочу получить дату в формеиз MMM dd,yyyy.

Мои запросы ниже:

let docRef = db.collection("employees").document(userID)
docRef.getDocument { (document, error) in
    if let document = document, document.exists {
        if document.get("playerLoginTime") != nil {
            self.loginTime = document.get("playerLoginTime") as! Date;
            print("Before printdates  \(self.loginTime )")
        }
    }

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Думаю, у меня тоже была эта проблема.

Я исправил ее, приведя к TimeStamp, который является типом Firebase вместо Date, а затем преобразовав в Date с dateFormatter перед отображением.

Чтобы получить тип TimeStamp, вы просто импортируете Firebase в нужный вам файл.

Бонусный совет : вместо того, чтобы конвертировать его самостоятельно (и еслиВы не против библиотек с открытым исходным кодом), я бы предложил использовать библиотеку SwiftDate !Его чрезвычайно легко использовать, и преобразование из TimeStamp в Date в форматированную дату стало простым.Более того, вы также можете легко конвертировать в Twitter-подобные временные метки (например, 2m 2 минуты назад)

Надеюсь, это поможет!

0 голосов
/ 30 ноября 2018

Вот ваше решение:

    let docRef = db.collection("employees").document(userID)
     docRef.getDocument { (document, error) in
            if let document = document, document.exists {

            if document.get("playerLoginTime") != nil {
                    self.loginTime = document.get("playerLoginTime") as! Date;
                    let dateFormatter = DateFormatter()
                    dateFormatter.dateFormat = "MM-dd-yyyy"
                    self.loginTime = dateFormatter.string(from: self.loginTime)

                }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...