javascript - 比较时间 hh :mm format in javascript

标签 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!");
}

最佳答案

发生这种情况是因为您正在比较字符串。当你执行 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/

相关文章:

javascript - 如何设置jQuery中图像的宽度?

javascript - JQuery 中的自动完成功能不显示提示

javascript - 两条路径之间的最长匹配子路径

javascript - React Hook 组件不会根据导入的数组更改进行更新

javascript - 使用 null 作为条件的简单 js 循环

javascript - 如何使用纯 JS 或 jQuery 检测转义按键?

Javascript:将数组元素的地址传递给函数

javascript - jQuery Bootstrap 对话框 $backdrop 未定义

javascript - 在 ASP.NET MVC 中使用 bootbox.js 添加选项以在自定义对话框中选择表单控件

javascript - 当窗口调整大小时另一个元素的高度发生变化时,如何动态更新元素的外层高度?