我想在此日期格式中添加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 ;
}
但我不知道如何修改它以使用全文字符串格式
答案 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)"));