在javascript中比较时间hh:mm格式

时间:2015-07-31 05:47:09

标签: javascript

我将字符串更改为24小时格式,但为什么有时候不比较我做错了什么?

function getTwentyFourHourTime(amPmString) { 
    var d = new Date("1/1/2013 " + amPmString); 
    return d.getHours() + ':' + d.getMinutes(); 
}

var inputStart = "6:00 AM";
var inputEnd = "10:00 PM";

var startDay = getTwentyFourHourTime(inputStart); 
var endDay = getTwentyFourHourTime(inputEnd); 


if(startDay < endDay){
alert("works!");
}

1 个答案:

答案 0 :(得分:2)

这是因为您正在比较字符串。执行return d.getHours() + ':' + d.getMinutes();时会返回一个字符串,"6:0""22:0"更强。如果只返回d,您的代码就会正常运行。

function getTwentyFourHourTime(amPmString) { 
    var d = new Date("1/1/2013 " + amPmString); 
    return d; 
}

var inputStart = "6:00 AM";
var inputEnd = "10:00 PM";

var startDay = getTwentyFourHourTime(inputStart); 
var endDay = getTwentyFourHourTime(inputEnd); 


if(startDay < endDay){
alert("works!");
}

检查我的Demo

希望它能帮助你。