在 javascript 中添加两个日期时间
adding two datetime in javascript
我在 AngularJS 中使用多个时间选择器将日期时间作为输入。我想添加所有时间输入(动态)来给我一个总持续时间。
例如:如果我输入
Date {Wed Feb 03 2016 02:07:44 GMT+0530 (India Standard Time)}
Date {Wed Feb 03 2016 05:09:05 GMT+0530 (India Standard Time)}
应该return
Date {Wed Feb 03 2016 07:16:49 GMT+0530 (India Standard Time)}
var difference = date2 - date1;
var newDate = new Date(date2.getTime() + difference);
尝试使用 Date.parse()
方法。它将日期转换为时间戳。
var time1 = new Date('2013-08-12 10:30');
var time2 = new Date('2013-08-12 12:30');
var time3 = new Date('2013-08-12 1:15');
var result = (Date.parse(time1) - Date.parse(time2)) + Date.parse(time3);
var resultTime = new Date(result);
alert(resultTime)
使用moment
var moment = require('moment');
var d1 = moment("Wed Feb 03 2016 02:07:44 GMT+0530", "ddd MMM DD YYYY HH:mm:ss Z");
var d2 = moment("Wed Feb 03 2016 05:09:05 GMT+0530", "ddd MMM DD YYYY HH:mm:ss Z");
var dur1 = moment.duration(d1.format("HH:mm:ss"));
var dur2 = moment.duration(d2.format("HH:mm:ss"));
var totalDur = dur1 + dur2;
var temp = d1.clone();
temp.startOf('day').add(totalDur);
console.log(temp.format()); // 2016-02-03T07:16:49+05:30
console.log(temp.format("ddd MMM DD YYYY HH:mm:ss Z")); // Wed Feb 03 2016 07:16:49 +05:30
我在 AngularJS 中使用多个时间选择器将日期时间作为输入。我想添加所有时间输入(动态)来给我一个总持续时间。
例如:如果我输入
Date {Wed Feb 03 2016 02:07:44 GMT+0530 (India Standard Time)}
Date {Wed Feb 03 2016 05:09:05 GMT+0530 (India Standard Time)}
应该return
Date {Wed Feb 03 2016 07:16:49 GMT+0530 (India Standard Time)}
var difference = date2 - date1;
var newDate = new Date(date2.getTime() + difference);
尝试使用 Date.parse()
方法。它将日期转换为时间戳。
var time1 = new Date('2013-08-12 10:30');
var time2 = new Date('2013-08-12 12:30');
var time3 = new Date('2013-08-12 1:15');
var result = (Date.parse(time1) - Date.parse(time2)) + Date.parse(time3);
var resultTime = new Date(result);
alert(resultTime)
使用moment
var moment = require('moment');
var d1 = moment("Wed Feb 03 2016 02:07:44 GMT+0530", "ddd MMM DD YYYY HH:mm:ss Z");
var d2 = moment("Wed Feb 03 2016 05:09:05 GMT+0530", "ddd MMM DD YYYY HH:mm:ss Z");
var dur1 = moment.duration(d1.format("HH:mm:ss"));
var dur2 = moment.duration(d2.format("HH:mm:ss"));
var totalDur = dur1 + dur2;
var temp = d1.clone();
temp.startOf('day').add(totalDur);
console.log(temp.format()); // 2016-02-03T07:16:49+05:30
console.log(temp.format("ddd MMM DD YYYY HH:mm:ss Z")); // Wed Feb 03 2016 07:16:49 +05:30