我正在尝试减去节点js(Google云函数)中的timeStamp。 这是我的时间戳:
var currentTime = admin.database.ServerValue.TIMESTAMP.toString();
console.log(currentTime); //1537806936331
我想获取currentTime-8小时。
我该怎么做? (我在云功能(firebase)中使用它)
在此先感谢您的帮助与努力!
答案 0 :(得分:3)
此时间戳1537806936331
等于Monday, September 24, 2018 7:35:36.331 PM GMT+03:00 DST
。您可以在这里找到:
https://www.epochconverter.com/
因此,请尝试以下操作:
let date = new Date(1537806936331); //Mon Sep 24 2018 19:35:36 GMT+0300 (Eastern European Summer Time)
let hours = date.getHours() - 8; //11
在此处查看更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
如果要获取上述日期的时间戳,请尝试以下操作:
let date = new Date(1537806936331); //Mon Sep 24 2018 19:35:36 GMT+0300 (Eastern European Summer Time) //11
date.setHours(date.getHours() - 8); //11
let timeStamp = Date.parse(date);
console.log(timeStamp); //1537778136000
您可以使用Date.parse()
来获取时间戳。
答案 1 :(得分:3)
您拥有的时间戳是自该纪元以来经过的毫秒数。这意味着您还可以使用毫秒的常规减法来获得8小时之前的时间戳。
因此,彼得(正确)的答案更简单:
var currentTime = admin.database.ServerValue.TIMESTAMP;
var eightHoursAgo = currentTime - 8*60*1000;
8*60*1000
是8小时内的毫秒数。