【问题标题】:Firebase Timestamp showing the date of 1970显示 1970 年日期的 Firebase 时间戳
【发布时间】:2018-07-30 13:58:49
【问题描述】:

我想从 firebase 获取当前日期和时间。在控制台登录时应用以下代码,我得到了 1970 年的日期。如何获取当前日期和时间?

得到解决方案后编辑代码

let current_date;
firebase.database().ref("/.info/serverTimeOffset").on('value', function(offset) {
  current_date = new Date(Date.now() + offset.val());
  current_date.toString();            
});
console.log(current_date);

【问题讨论】:

  • 你可能有一个unix timestamp,所以,试试这个:new Date( offset.val() * 1000 )
  • 将其作为输出 -“Tue Jun 24 1975 09:04:23 GMT+0530 (IST)”

标签: javascript datetime firebase firebase-realtime-database


【解决方案1】:

使用下面的行

Date.now() + offset.val()        

然后代码如下所示

firebase.database().ref("/.info/serverTimeOffset").on('value', function(offset) {
 var date = new Date(Date.now() + offset.val());
 console.log(date.toString());  
});

【讨论】:

  • 那么如何获取当前日期和时间呢?
  • 乘以 1000 得到 Tue Jun 24 1975 09:04:59 GMT+0530 (IST)
  • @Subhojit 试试这个
  • 显示错误“TypeError: Date.now is not a constructor”
  • 它的输出只显示了时间戳! - “1506424667550”
【解决方案2】:

offset.val() 不给出当前的 UNIX 纪元。它告诉您客户端时钟与 Firebase 服务器时钟相差多少毫秒。在大多数情况下,这将非常小(约 100 毫秒),因此是您的问题。

获取当前日期:

firebase.database().ref("/.info/serverTimeOffset").on('value', function(offset) {
 var date = Date.now() + offset.val();
 console.log(date);  
});

【讨论】:

  • 显示错误“TypeError: Date.now is not a constructor”
  • @Subhojit 尝试不使用 new 关键字。
  • @Subhojit 是的,这是自 1970 年以来的毫秒数——unix 时代
猜你喜欢
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
  • 2020-02-15
  • 2020-11-23
  • 2015-12-31
  • 1970-01-01
相关资源
最近更新 更多