Javascript Jquery函数根据时间输入字符串增加一小时

Javascript Jquery函数根据时间输入字符串增加一小时,javascript,jquery,datetime-format,Javascript,Jquery,Datetime Format,我有这个格式的字符串值 9:00 am 我希望它是这样的 9:00 am - 10:00 am 第二个小时必须比第一个小时大1。例如,如果时间是 7:00 am then it should be 7:00 am - 8:00 am 如何使用jquery实现这一点? 我试过了,但现在不行了 var time= "9:00 am" var nexttime=time.setHours(time.getHours()+1) alert(nexttime); 获取错误 time.getHou

我有这个格式的字符串值

9:00 am
我希望它是这样的

9:00 am - 10:00 am
第二个小时必须比第一个小时大1。例如,如果时间是

7:00 am then it should be 7:00 am - 8:00 am
如何使用jquery实现这一点? 我试过了,但现在不行了

var time= "9:00 am"
var nexttime=time.setHours(time.getHours()+1)
 alert(nexttime);
获取错误

time.getHours is not a function
参考此

var time=new Date();        
time.setHours(9, 00, 00);
var nexttime=(time.getHours()+1);
alert(nexttime);
//以获得小时分和秒

var nexttime=(time.getHours()+1) +":"+time.getMinutes()+":"+time.getSeconds();
参考此

var time=new Date();        
time.setHours(9, 00, 00);
var nexttime=(time.getHours()+1);
alert(nexttime);
//以获得小时分和秒

var nexttime=(time.getHours()+1) +":"+time.getMinutes()+":"+time.getSeconds();
您可以尝试以下方法:

function increaseTimeByOne(timeStr) {
    var splitedTimeStr = timeStr.split(':');
    var hours = parseInt(splitedTimeStr[0]);
    var meridiem = splitedTimeStr[1].split(" ")[1];
    var minutes = splitedTimeStr[1].split(" ")[0];
    var nextHours = (hours + 1);
    var nextMeridiem;
    if (hours >= 11) {
        if (meridiem.toLowerCase() == "am") {
            nextMeridiem = "pm";
        } else if (meridiem.toLowerCase() == "pm") {
            nextMeridiem = "am";
        }
        if (nextHours > 12) {
            nextHours = nextHours - 12;
        }

    } else {
        nextMeridiem = meridiem;
    }
    return nextHours + ":" + minutes + " " + nextMeridiem;
}
并将上述函数用作

var timestr="9:00 am";
var next_hour = increaseTimeByOne(timeStr);
alert(next_hour);
您可以尝试以下方法:

function increaseTimeByOne(timeStr) {
    var splitedTimeStr = timeStr.split(':');
    var hours = parseInt(splitedTimeStr[0]);
    var meridiem = splitedTimeStr[1].split(" ")[1];
    var minutes = splitedTimeStr[1].split(" ")[0];
    var nextHours = (hours + 1);
    var nextMeridiem;
    if (hours >= 11) {
        if (meridiem.toLowerCase() == "am") {
            nextMeridiem = "pm";
        } else if (meridiem.toLowerCase() == "pm") {
            nextMeridiem = "am";
        }
        if (nextHours > 12) {
            nextHours = nextHours - 12;
        }

    } else {
        nextMeridiem = meridiem;
    }
    return nextHours + ":" + minutes + " " + nextMeridiem;
}
并将上述函数用作

var timestr="9:00 am";
var next_hour = increaseTimeByOne(timeStr);
alert(next_hour);

您可以将时间字符串设置为:

函数递增时间1(t){
var s=t.split(“:”);
var n=parseInt(s[0],10);
变量nt=(n+1)+“:00”;
var ampm=n>=11?“pm”:“am”;
返回t+“-”+nt+ampm;
}
console.log(将时间增加1('9:00am');
console.log(将时间增加1('11:00am');

console.log(将时间增加1('12:00pm')您可以将时间字符串设置为:

函数递增时间1(t){
var s=t.split(“:”);
var n=parseInt(s[0],10);
变量nt=(n+1)+“:00”;
var ampm=n>=11?“pm”:“am”;
返回t+“-”+nt+ampm;
}
console.log(将时间增加1('9:00am');
console.log(将时间增加1('11:00am');

console.log(将时间增加1('12:00pm')
为什么这个问题用PHP标记?和它没有关系。因为在其中添加一个小时后,我想用php中的相同字符串匹配它。为什么这个问题用php标记?与此无关。因为在其中添加一个小时后,我想将其与php中的相同字符串进行匹配。您的答案似乎不错,但我只得到10个警告。我想要“上午10:00”@shahidhamdam你能现在检查一下并更新状态吗?先生,你给出的答案在上午10:00时非常有效。但是如果我选择下午1:00,它会显示下午1:00到凌晨2:00。你能给我一些建议吗?@shahidhamdam你能现在检查一下吗?如果我选择下午5点,它会显示早上6点。我需要它告诉我下午6点。你的回答似乎不错,但我只得到10个警报。我想要“上午10:00”@shahidhamdam你能现在检查一下并更新状态吗?先生,你给出的答案在上午10:00时非常有效。但是如果我选择下午1:00,它会显示下午1:00到凌晨2:00。你能给我一些建议吗?@shahidhamdam你能现在检查一下吗?如果我选择下午5点,它会显示早上6点。我需要它告诉我下午6点。