var time="18:15:00"
我以 24 小时格式获取时间,如上面的字符串。我必须增加 15 分钟的时间,我该如何添加。不使用substring()
.
var time
是字符串不是date object
. 在谷歌上搜索,但没有得到它。
var time="18:15:00"
我以 24 小时格式获取时间,如上面的字符串。我必须增加 15 分钟的时间,我该如何添加。不使用substring()
.
var time
是字符串不是date object
. 在谷歌上搜索,但没有得到它。
你可以这样做:
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'
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'
到格式选项。)
只需将其转换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)
首先将您的字符串转换为日期对象,如下所示:
var d = new Date("18:15:00");
然后使用第一个日期,创建一个新日期并添加 15 分钟(以毫秒为单位):
var e = new Date(d.getTime() + 15*60000);
您应该能够用来e
返回您想要的字符串。