var time="18:15:00"
我正在以24小时格式获得时间,如上面的字符串。
我必须添加15分钟的时间我如何添加。
不使用substring()
。
var time
字符串不是date object
。
在谷歌搜索但没有得到它。
答案 0 :(得分:10)
你可以这样做:
function addMinutes(time, minsToAdd) {
function D(J){ return (J<10? '0':'') + J;};
var piece = time.split(':');
var mins = piece[0]*60 + +piece[1] + +minsToAdd;
return D(mins%(24*60)/60 | 0) + ':' + D(mins%60);
}
addMinutes('18:15:00', '20'); // '18:35'
答案 1 :(得分:0)
Dhavals答案非常好,但我更喜欢简单和简单单行代码。
因此,我使用以下内容:
var minsToAdd = 15;
var time = "15:57";
var newTime = new Date(new Date("1970/01/01 " + time).getTime() + minsToAdd * 60000).toLocaleTimeString('en-UK', { hour: '2-digit', minute: '2-digit', hour12: false });
(如果您需要秒数,只需将second: '2-digit'
添加到格式选项中。)
答案 2 :(得分:0)
只需将Original time string
转换为time
然后将添加的时间字符串转换为时间然后添加它们
var time="18:15:00"; // Original Time
var timeToadd = "00:15:00"; // Time to be added in min
var timeToAddArr = timeToadd.split(":");
var ms = (60 * 60 * parseInt(timeToAddArr[0]) + 60 * (parseInt(timeToAddArr[1])) ) * 1000;
var newTime =new Date('1970-01-01T' + time ).getTime() + ms
var finalTime = new Date(newTime).toLocaleString('en-GB').slice(12 ,20)
console.log(finalTime)
答案 3 :(得分:-2)
首先将字符串转换为日期对象,如下所示:
var d = new Date("18:15:00");
然后使用第一个日期,创建一个新日期并添加15分钟(以毫秒为单位):
var e = new Date(d.getTime() + 15*60000);
您应该可以使用e
返回所需的字符串。