Javascript Firebase获取服务器时间戳返回错误值
我想获取Firebase服务器当前时间作为时间戳,但返回的值错误。服务器返回一个timestamp=1535916111663,如果我们将这个timestamp转换为date,我将在21:21:03获得3月30日50641 注意:我使用的是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
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年返回一个值。您使用什么来确定它?