web-dev-qa-db-fra.com

Comment convertir une date / un horodatage Firestore en une date JS ()?

J'essaie de convertir la date ci-dessous en un objet Date () javascript. Quand je le récupère du serveur, c'est un objet Timestamp,

Capture d'écran de la console Firebase Firestore:

enter image description here

Lorsque j'essaie ce qui suit sur une liste d'objets renvoyés par firestore:

  list.forEach(a => {
    var d = a.record.dateCreated;
    console.log(d, new Date(d), Date(d))
  })

J'obtiens cette sortie: enter image description here

Clairement, les horodatages sont tous différents, et ne sont pas tous la même date du 9 septembre 2018 (qui se trouve être aujourd'hui). Je ne sais pas non plus pourquoi new Date(Timestamp) donne un invalid date. Je suis un peu un débutant JS, est-ce que je fais quelque chose de mal avec les dates ou les horodatages?

17
blueether

Le constructeur d'une date JavaScript ne sait rien des objets Firestore Timestamp - il ne sait pas quoi en faire.

Si vous souhaitez convertir un horodatage en date, utilisez la méthode toDate () sur l'horodatage.

43
Doug Stevenson

Veuillez utiliser la méthode toDate () puis convertissez-la au format en utilisant angular pipe like this -

{{row.orderDate.toDate () | date: 'jj MMM hh: mm'}}

2
Naman Sharma