Как преобразовать дату/время проверки Firestore в дату JS()?

Я пытаюсь преобразовать приведенную ниже дату в объект Date() javascript. Когда я получаю его обратно с сервера, это объект Timestamp,

Снимок экрана с консоли Firebase Firestore:

enter image description here

Когда я пытаюсь сделать следующее в списке объектов, возвращаемых из магазина:

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

Я получаю этот вывод: enter image description here

Очевидно, что все метки времени различны и не являются одной и той же датой 9 сентября 2018 года (что происходит сегодня). Я также не уверен, почему new Date(Timestamp) приводит к invalid date. Я новичок в JS, я делаю что-то не так с датами или временными метками?

Ответы

Ответ 1

Конструктор для JavaScript Date ничего не знает об объектах Firestore Timestamp - он не знает, что с ними делать.

Если вы хотите преобразовать метку времени в дату, используйте метод toDate() для метки времени.

Ответ 2

Пожалуйста, используйте метод toDate(), а затем преобразуйте его в формат, используя угловую pipeу, как это -

{{row.orderDate.toDate() | дата: 'дд ммм чч: мм'}}

Ответ 3

toDate() не является дерьмом функции firestore

Ответ 4

Как преобразовать метку времени Unix в объект JavaScript Date.

var myDate = a.record.dateCreated;
new Date(myDate._seconds * 1000); // access the '_seconds' attribute within the timestamp object