Как сохранить дату как метку времени в Angular Firestore? - PullRequest
0 голосов
/ 12 октября 2019
firestore.Timestamp.now();

Я пробовал таким образом, и он сохраняет дату как карту.

nanoseconds: 388000000
seconds: 1570897877

наносекунды и секунды типа числа.

Я хочу сохранить датуВ качестве метки времени пожарного магазина используется угловая. Я нашел повторяющиеся вопросы без принятого ответа.

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Если вы хотите добавить текущее время в качестве значения метки времени в документе Firestore, вы можете добавить его, используя FieldValue.serverTimestamp(), как упоминал Дуг, как в следующем примере:

import * as firebase from 'firebase';
[ . . . ]
db.collection('times').add({time: firebase.firestore.FieldValue.serverTimestamp()});

Если выЕсли вы хотите получить определенное время, вы можете создать новый объект Date и добавить его в Firestore, используя для этого функцию toDateString() следующим образом:

import * as firebase from 'firebase';
[ . . . ]
date = new Date('2018-11-16T09:48:51.137Z'); //sample date
this.db.collection('times').add({spec_time: this.date.toDateString()});
1 голос
/ 12 октября 2019

Вы можете использовать firebase.database.ServerValue.TIMESTAMP

Импорт firebase

import * as firebase from 'firebase';

Инициализировать его

firebase.initializeApp(environment.firebase);

, затем вы можете использовать

firebase.database.ServerValue.TIMESTAMP

Чтобы получить метку времени в миллисекундах

Теперь, если вы хотите сохранить метку времени в качестве даты, просто конвертируйте метку времени в момент в желаемый формат и сохраните ее в базе данных

db.object("collection").set(moment(firebase.database.ServerValue.TIMESTAMP).toDate());
...