【问题标题】:Javascript / Jquery - Calculate date and timeJavascript / Jquery - 计算日期和时间
【发布时间】:2014-06-16 17:36:28
【问题描述】:
鉴于
出发日期时间 13/6/2014 01:00 AM
和
预计着陆时间为 1 小时 50 分钟
我想要这样的结果:13/6/2014 2:50 AM
有人知道吗?
我一直在使用 datejs 没有运气
【问题讨论】:
标签:
javascript
date
datetime
time
【解决方案1】:
在这里,看看 moment.js (http://momentjs.com)
假设您的开始时间和持续时间设置如下:
var departTime = '13/06/2014 01:00 AM';
var duration = '1 hour 50 minutes';
首先您需要将出发时间转换为时刻对象并解析持续时间,如下所示:
var departTimeObj = moment(departTime, 'MM/DD/YYYY hh:mm A');
var durationParts = duration.split(' ');
var durationHours = durationParts[0];
var durationMinutes = durationParts[2];
现在你可以使用 moment 来做加法:
var landingTime = departTimeObj.add({
hours: durationHours,
minutes: durationMinutes
});
要按照您想要的方式格式化输出,请执行以下操作:
var landingTimeStr = landingTime.format('MM/DD/YYYY hh:mm A');
【解决方案2】:
使用 JavaScript date 对象。
var travelling = 110 // in minutes
var departing = new Date(2014, 6, 13, 1, 0, 0, 0);
var arriving = new Date(departing.getTime() + travelling * 60000);
这是fiddle。
或者使用许多已经存在的库。
正如马特约翰逊所说,如果您要添加可变时间单位(如 天),则需要厌倦像夏令时这样的陷阱。 p>