Как сравнить временные метки пожарной базы? - PullRequest
1 голос
/ 08 марта 2019

У меня есть код кода функции облака:

console.log(`ts: ${(element.get('expire') as admin.firestore.Timestamp).toDate().toUTCString()} now: ${admin.firestore.Timestamp.now().toDate().toUTCString()}`)
const greater = (element.get('expire') as admin.firestore.Timestamp) > admin.firestore.Timestamp.now()
const lower = (element.get('expire') as admin.firestore.Timestamp) < admin.firestore.Timestamp.now()
console.log(`greater: ${greater} lower: ${lower}`)

В консоли:

ts: понедельник, 08 апреля 2019 г. 20:59:59 GMT сейчас: пт, 08 марта 2019 г. 20:19:18 GMT

больше: ложь ниже: ложь

Так как правильно сравнивать с метками времени?

Ответы [ 2 ]

1 голос
/ 09 марта 2019

Вы можете сделать это, сравнив свойства секунд и наносекунд для объектов Timestamp. Или, чтобы упростить его, и вам не нужна наносекундная точность, вы можете просто сравнить результаты результатов их значений toMillis () .

0 голосов
/ 09 марта 2019

Вы пытались превратить ваши метки времени в объект Date, чтобы потом сравнивать даты вместо меток времени?

Например:

const greater = new Date(element.get('expire') as admin.firestore.Timestamp) > new Date();
const lower = new Date(element.get('expire') as admin.firestore.Timestamp) < new Date();
...