日期满文本字符串格式ISO 8601

问题描述:

我想增加30分钟的此日期格式:日期满文本字符串格式ISO 8601

“星期一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 ; 
    } 

但我不知道我怎么可以修改它的工作全文字符串格式

为日期添加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)"));