如何使用 jquery 将分钟和小时添加到时间字符串

How to add minutes and hours to a time string using jquery

我想在我已经有自己日期的变量中添加 30 分钟,然后再添加一个小时

var initialDate = '10:00';

所以

if (some condition){
    // i add 30 minutes ->10:30
}elseif(another condition){
    // i add 1hour ->11:00
}

我试过了但是没用

var initialDate = '10:00';
var theAdd = new Date(initialDate);
var finalDate = theAdd.setMinutes(theAdd.getMinutes() + 30);

如果我理解正确,下面的内容会对你有所帮助。

您需要通过脚本标签添加momentjs依赖,您可以在JavaScript中解析、验证、操作和显示日期。

您可以在 momentjs website

中找到更多相关文档

console.log(moment.utc('10:00','hh:mm').add(1,'hour').format('hh:mm'));

console.log(moment.utc('10:00','hh:mm').add(30,'minutes').format('hh:mm'));
<script src="https://momentjs.com/downloads/moment-with-locales.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

var theAdd = new Date();

// Set Hours, minutes, secons and miliseconds
theAdd.setHours(10, 00, 00, 000);

if (some condition) {
   // add 30 minutes --> 10:30
   theAdd.setMinutes(theAdd.getMinutes() + 30);
}
elseif (some condition) {
   // add 1 hour --> 11:00
   theAdd.setHours(theAdd.getHours() + 1);
}

然后打印 var theAdd 以获得日期和时间。

获取时间:

theAdd.getHours() + ":" + theAdd.getMinutes();

这应该可以完成工作。日期在其构造函数中需要年和月,如果指定时间单位则必须指定较大的时间单位,如果指定时间单位则必须指定较小的时间单位,因此它也需要一天。此外,您必须分别传入小时和分钟。参见 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

var initialDate = '10:00';
var theAdd = new Date(1900,0,1,initialDate.split(":")[0],initialDate.split(":")[1]);
if(30 min condition){
theAdd.setMinutes(theAdd.getMinutes() + 30);
} else if (1 hour condition){
theAdd.setHours(theAdd.getHours() + 1);
}
console.log(theAdd.getHours()+":"+theAdd.getMinutes());

这里有一个 javascript 函数,可以将分钟添加到 hh:mm 时间字符串。

function addMinutes(timeString, addMinutes) {
if (!timeString.match(/^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/))
    return null;
var timeSplit = timeString.split(':');
var hours = parseInt(timeSplit[0]);
var minutes = parseInt(timeSplit[1]) + parseInt(addMinutes);
hours += Math.floor(minutes / 60);
while (hours >= 24) {
    hours -= 24;
}
minutes = minutes % 60;
return ('0' + hours).slice(-2) + ':' + ('0' +minutes).slice(-2);

}