在JavaScript中获取过去5分钟的时间戳

时间:2019-05-07 08:13:37

标签: javascript

假设现在时间是13:36:22,我想要这样的过去5分钟的数组

2019-05-07T13:36:00+0530
2019-05-07T13:35:00+0530
2019-05-07T13:34:00+0530
2019-05-07T13:33:00+0530
2019-05-07T13:32:00+0530

我尝试过类似下面的操作,直到5分钟之内,但不知道如何删除秒数并使用该格式

   var now = new Date();
  now.setSeconds(0);
    var last1 = new Date(today.getTime() - (1000*60));
     var last2 = new Date(today.getTime() - (1000*120));

var arr = [last1,last2,..and so on];

但是它还返回了几秒钟,例如Tue May 07 2019 13:40:57,我想删除秒,并且也在寻找这种格式

2019-05-07T13:32:00+0530

1 个答案:

答案 0 :(得分:0)

除非您要使用外部库,否则应自行构造格式。

首先定义您的时区offset,以便将其添加到Date.now()返回的UTC时间戳中。然后将sms设置为0并构建所需的日期格式。还添加了月,日等的前导0,当数字已经是两位数时,slice会将其删除。

let offset = 5.5;
let now = Date.now() + offset*60*60*1000;
date = new Date(now);
date.setSeconds(0, 0);

let timezone = Math.floor(offset) === offset ? 
  "0" + offset + "00" :
  "0" + Math.floor(offset) + "30"

dateString = date.getFullYear() +"-"+ 
  ("0" + (date.getMonth()+1)).slice(-2) +"-"+ 
  ("0" + date.getDate()).slice(-2) +"T"+ 
  ("0" + date.getHours()).slice(-2) +":"+ 
  ("0" + date.getMinutes()).slice(-2) +":"+ 
  ("0" + date.getSeconds()).slice(-2) +"+"+
  timezone;
      
console.log(dateString);