Node js减去时间戳

时间:2019-12-19 13:12:13

标签: node.js firebase google-cloud-functions

我正在尝试减去节点js(Google云函数)中的timeStamp。 这是我的时间戳:

var currentTime = admin.database.ServerValue.TIMESTAMP.toString();
console.log(currentTime); //1537806936331

我想获取currentTime-8小时。

我该怎么做? (我在云功能(firebase)中使用它)

在此先感谢您的帮助与努力!

2 个答案:

答案 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小时内的毫秒数。