Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将日期保存为存储中的时间戳?_Angular_Typescript_Google Cloud Firestore_Timestamp_Angularfire2 - Fatal编程技术网

Angular 如何将日期保存为存储中的时间戳?

Angular 如何将日期保存为存储中的时间戳?,angular,typescript,google-cloud-firestore,timestamp,angularfire2,Angular,Typescript,Google Cloud Firestore,Timestamp,Angularfire2,我尝试了这种方法,它将日期保存为地图 firestore.Timestamp.now(); 纳秒和秒类型是数字。 我想使用angular将日期保存为firestore时间戳。我发现重复的问题没有被接受的答案 您可以使用firebase.database.ServerValue.TIMESTAMP 导入firebase nanoseconds: 388000000 seconds: 1570897877 初始化它 import * as firebase from 'firebase'

我尝试了这种方法,它将日期保存为地图

firestore.Timestamp.now();
纳秒和秒类型是数字。

我想使用angular将日期保存为firestore时间戳。我发现重复的问题没有被接受的答案


您可以使用
firebase.database.ServerValue.TIMESTAMP

导入firebase

nanoseconds: 388000000
seconds: 1570897877
初始化它

import * as firebase from 'firebase';
然后你可以用

firebase.initializeApp(environment.firebase);
以毫秒为单位获取时间戳

现在,如果您想将时间戳保存为日期,那么只需将时间戳按时刻转换为所需格式并保存到数据库中即可

firebase.database.ServerValue.TIMESTAMP

如果要在Firestore文档中添加当前时间作为时间戳值,可以使用Doug提到的
FieldValue.serverTimestamp()
添加,如下例所示:

db.object("collection").set(moment(firebase.database.ServerValue.TIMESTAMP).toDate());
如果要获取特定时间,可以创建一个新的日期对象,并使用其上的函数
toDateString()
将其添加到Firestore中,如下所示:

import * as firebase from 'firebase';
[ . . . ]
db.collection('times').add({time: firebase.firestore.FieldValue.serverTimestamp()});
这个代码对我有用。
重要的部分是根firebase对象的
。默认值

请编辑问题,以显示向Firestore添加数据的完整代码(而不仅仅是调用单个函数)。我们应该能够准确地再现你所看到的。还可以考虑使用<代码>字段值。ServTimeStMpP()<代码>通常是用来让服务器将当前时间放入字段中的。
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()});
import * as firebase from 'firebase';

...


const data = {
    createdAt: firebase.default.firestore.FieldValue.serverTimestamp(),
};