Ответ 1
Конструктор для JavaScript Date ничего не знает об объектах Firestore Timestamp - он не знает, что с ними делать.
Если вы хотите преобразовать метку времени в дату, используйте метод toDate() для метки времени.
Я пытаюсь преобразовать приведенную ниже дату в объект Date() javascript. Когда я получаю его обратно с сервера, это объект Timestamp,
Снимок экрана с консоли Firebase Firestore:
Когда я пытаюсь сделать следующее в списке объектов, возвращаемых из магазина:
list.forEach(a => {
var d = a.record.dateCreated;
console.log(d, new Date(d), Date(d))
})
Очевидно, что все метки времени различны и не являются одной и той же датой 9 сентября 2018 года (что происходит сегодня). Я также не уверен, почему new Date(Timestamp)
приводит к invalid date
. Я новичок в JS, я делаю что-то не так с датами или временными метками?
Конструктор для JavaScript Date ничего не знает об объектах Firestore Timestamp - он не знает, что с ними делать.
Если вы хотите преобразовать метку времени в дату, используйте метод toDate() для метки времени.
Пожалуйста, используйте метод toDate(), а затем преобразуйте его в формат, используя угловую pipeу, как это -
{{row.orderDate.toDate() | дата: 'дд ммм чч: мм'}}
toDate() не является дерьмом функции firestore
Как преобразовать метку времени Unix в объект JavaScript Date.
var myDate = a.record.dateCreated;
new Date(myDate._seconds * 1000); // access the '_seconds' attribute within the timestamp object