如何使用 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);
}
我想在我已经有自己日期的变量中添加 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);
}