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

时间:2017-03-21 11:34:34

标签: javascript jquery time strtotime

我想在我的变量中添加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);

4 个答案:

答案 0 :(得分:7)

如果我理解正确,以下内容对您有帮助。

您需要通过脚本标记添加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>

答案 1 :(得分:3)

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();

答案 2 :(得分:0)

这应该可以胜任。日期在构造函数中需要一年和一个月,如果指定日期和较小的日期,则必须指定更大的时间单位,因此它也需要一天。此外,您必须分别传递小时和分钟。请参阅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());

答案 3 :(得分:0)

这是一个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);

}