Каков эквивалентный тип данных временной метки сервера Firestore? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть модель данных, включающая поле отметки времени createdAt.

struct Box {
    var title: String
    var createdAt: Timestamp

    var dictionary: [String : Any] {
        return [
            "title": title,
            "createdAt": createdAt
        ]
    }

// ...

Однако я не могу назначить метку времени сервера Firestore. Каков будет эквивалентный тип данных временной метки сервера Firestore? Я здесь упускаю точку?

let box = Box(title: title, createdAt: FieldValue.serverTimestamp());

1 Ответ

0 голосов
/ 08 мая 2018

Когда вы читаете Timestamp из Firestore, вы можете преобразовать его в Date объект:

if let timestamp = data["createdAt"] as? Timestamp {
    let date = timestamp.dateValue()
}

/** Returns a new NSDate corresponding to this timestamp. This may lose precision. */
- (NSDate *)dateValue;

Timestamp - это FIRTimestamp объект, который возвращается следующим образом:

FIRTimestamp: seconds=1525802726 nanoseconds=169000000>

После преобразования с .dateValue():

2018-05-08 18:05:26 +0000

...