我将字符串更改为 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!");
}
最佳答案
发生这种情况是因为您正在比较字符串。当你执行 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
希望对你有帮助。
关于javascript - 比较时间 hh :mm format in javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31738904/