比较开始“时间”小于javascript中的结束“时间”
compare start "Time" is less than the end "Time" in javascript
我在两个文本字段中有一个值,该值已经格式化为 hh:mm,如何比较这两个字段的值?
我正在尝试以下代码:
function check_ToFromTime(toTime) {
if (getControl('txtStartTimeFrom').value == '00:00' && getControl(toTime).value == '00:00') { return true; }
var fromDate = new Date(getControl('txtStartTimeFrom').value);
var toDate = new Date(getControl('txtEndTimeTo').value);
var fromT = fromDate.getTime();
var toT = toDate.getTime();
return (toT >= fromT);
}
第一行中的 if 语句有效,但最后一条语句
有效 返回 (toT>= fromT);不起作用。它总是返回假。我哪里出错了?
我不会担心将这些String
对象转换为Date
对象。 只需拆分字符串并比较:
var fromDate = "04:05";
var toDate = "04:04";
var fromTokens = fromDate.split(":");
var toTokens = toDate.split(":");
alert(fromTokens[0] < toTokens[0] || (fromTokens[0] == toTokens[0] && fromTokens[1] < toTokens[1]));
您可以将此功能放在一个不错的函数中以实现可重用性:
function isAfter(fromDate, toDate){
var fromTokens = fromDate.split(":");
var toTokens = toDate.split(":");
return (fromTokens[0] < toTokens[0] || (fromTokens[0] == toTokens[0] && fromTokens[1] < toTokens[1]));
}
//Tests
alert(isAfter("04:04", "05:05"));
alert(isAfter("06:04", "05:05"));
alert(isAfter("05:05", "05:05"));
JS小提琴:http://jsfiddle.net/X5v5F/
我不打算走这条路,因为我认为拆分字符串就足够了,但如果你固定了一个日期,我建议使用 Moment.js。
它将始终打印为假,因为结束时间将始终大于开始时间。您需要更改条件,即返回(toT <= fromT);
相关文章:
- 从工作日结束到下一个工作日开始的完整日历JS包装时间
- 如何在dhtmlxgantt中显示灯箱中的开始日期、结束日期和持续时间
- 如何使用jquery获取结束时间
- 基础日期选择器、结束日期(和时间)不能早于开始日期(和时间)
- 结束日期作为基础日期时间选择器中的选定开始日期
- 在for循环中另一个音频结束后播放一段时间的音频
- 如何在Dynamics CRM中获取时区的夏令时开始和结束时间
- 识别有角度的spa应用程序页面渲染结束时间
- 尝试创建Javascript表单来计算结束时间
- Javascript REGEX:需要从嵌入URL中检索ID以及开始和结束时间
- 如何在 javascript 中获取指定时区的一天的开始时间和结束时间(以 UTC 为单位)
- 如何在时间结束时发出警报
- 如何在 jQuery 中时间结束时发出警报
- j查询开始时间/结束时间验证
- 计时器在时间结束时发出警报
- 如何通过正确切换在最长执行时间结束时给出用户定义的超时消息
- 当Css3动画被相同的事件触发时,具有相同持续时间的动画在不同的时间结束
- 创建'时间结束'从价值
- 禁用Onclick直到持续时间结束
- 使用javascript验证日期、时间开始和时间结束