现在如何将firebase.database.ServerValue.TIMESTAMP转换为其相应的日期或时间?

时间:2018-08-31 12:24:25

标签: javascript firebase firebase-realtime-database

这是我的代码,我将newsObj推送到实时数据库中

   addNewsObj(newsObj:News) {
    this.newsListRef.push(newsObj).then((snap) => {
      const key = snap.key;
      console.log(key);
      this.newsListRef.update(key, {news_timestamp_post_created: firebase.database.ServerValue.TIMESTAMP});
    });
   }

我想要的结果将是转换从数据库中获得的long值,类似这样

news_timestamp_post_created: 
1535716975480

到59分钟前或超过24小时时,随着时间的推移,它会按天显示,然后按月显示。我不希望在3000分钟之前或120天之前显示在我的应用程序中。

我的问题是我不知道如何将1535716975480转换为可读的术语

任何小技巧都会有很大帮助。谢谢!

编辑:

我尝试这样做

let elapsed = news.news_timestamp_post_created;//1535716975480 
console.log(new Date(elapsed)); 

显示“无效日期”

根据此SO link,服务器时间戳为

"The doc says:

A placeholder value for auto-populating the current timestamp (time since the Unix epoch, in milliseconds) as determined by the Firebase servers"

我发现pic

1 个答案:

答案 0 :(得分:0)

我要做的就是这个。 (经过的时间等于Firebase服务器的时间戳记)

console.log(new Date(elapsed));
//elapsed is 535716975480

->记录值:2018年8月31日星期五20:02:55 GMT + 0800(新加坡标准时间)