日期全文字符串格式为iso 8601

时间:2017-09-13 12:13:05

标签: javascript angular datetime converter

我想在此日期格式中添加30分钟:

  

"周一2017年9月11日12:00:00 GMT + 0200(CEST)"

我已经制作了一个适用于ISO 8601的功能:

add30mnTo(date : string){
    var initialdate = (this.datetotimestamp(date) + 1800) * 1000; // 1800 for 30min
    var dateinit = new Date (initialdate)
    var result = dateinit.toISOString();
    alert(result);
    return result;
  }

datetotimestamp(date : string){
    var myDate = new Date(date);
    var withOffset = (myDate.getTime())/1000;
    return withOffset ;
  }

但我不知道如何修改它以使用全文字符串格式

1 个答案:

答案 0 :(得分:0)

在日期中添加30分钟,您只需使用getTime,然后添加时间量,然后使用setTime进行设置。 getTime是以毫秒为单位的时间,因此添加30 * 60 * 1000将为您提供30分钟。

另请注意,时间是当地时间,因此我的结果是2017-09-11T10:30:00.000Z,所以它仍然增加了30分钟,但由于时区可能看起来与其他人不同



function add30mnTo(date){
  var d = new Date(date);
  d.setTime(d.getTime() + 30*60*1000);
  return d.toISOString();
}

console.log(add30mnTo("Mon Sep 11 2017 12:00:00 GMT+0200 (CEST)"));