Javascript Firebase获取服务器时间戳返回错误值

Javascript Firebase获取服务器时间戳返回错误值,javascript,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Firebase,Firebase Realtime Database,Google Cloud Functions,我想获取Firebase服务器当前时间作为时间戳,但返回的值错误。服务器返回一个timestamp=1535916111663,如果我们将这个timestamp转换为date,我将在21:21:03获得3月30日50641 注意:我使用的是firebase云函数 exports.addPost = functions.region('europe-west1').https.onRequest((request, response) => { admin.database().r

我想获取Firebase服务器当前时间作为时间戳,但返回的值错误。服务器返回一个timestamp=1535916111663,如果我们将这个timestamp转换为date,我将在21:21:03获得3月30日50641

注意:我使用的是firebase云函数

  exports.addPost = functions.region('europe-west1').https.onRequest((request, response) => {

  admin.database().ref('/.info/serverTimeOffset').once('value').then(function stv(data) {
          console.log(data.val() + Date.now());
    }, function (err) {
        return err;
   });
})

无论您使用什么方法将时间戳转换为日期,它都将该值解释为自unix纪元以来的秒数。但是,您得到的值实际上是以自unix时代以来的毫秒数来度量的。您需要使用转换工具将时间戳(以毫秒为单位)转换为日期


如果将该值粘贴到中,它将自动以毫秒为单位获取该值。您在上面提供的值“1535916111663”将转换为“GMT:Sunday,June 2,2018 7:21:51.663 PM”

无论您使用什么方法将时间戳转换为日期,它都将该值解释为自unix纪元以来的秒数。但是,您得到的值实际上是以自unix时代以来的毫秒数来度量的。您需要使用转换工具将时间戳(以毫秒为单位)转换为日期


如果将该值粘贴到中,它将自动以毫秒为单位获取该值。您在上面提供的值“1535916111663”将转换为“格林尼治时间:2018年9月2日星期日7:21:51.663 PM”

为什么要在云函数上使用serverTimeOffset?所有谷歌服务器(包括那些处理实时数据库和云功能的服务器)都有完全相同的服务器日期。应该不需要偏移量。我在stackoverflow上找到了这个函数,所以我使用了它。如果您想在云函数中获得准确的时间戳,请使用
Date.now()
。偶数Date.now()在50641年返回一个值。您使用什么来确定它?为什么在云函数中使用serverTimeOffset?所有谷歌服务器(包括那些处理实时数据库和云功能的服务器)都有完全相同的服务器日期。应该不需要偏移量。我在stackoverflow上找到了这个函数,所以我使用了它。如果您想在云函数中获得准确的时间戳,只需使用
Date.now()
。偶数Date.now()在50641年返回一个值。您使用什么来确定它?