将开始时间和结束时间与jquery进行比较
Compare start time amd end time with jquery?
这里是代码
$(document).ready(function() {
$('#st').change(function(){
var st = $('#st').val(); // start time Format: '9:00 PM'
var et = $('#et').val(); // end time Format: '11:00 AM'
//how do i compare time
if(st > et)
{
alert('end time always greater then start time');
}
});
});
如果我的时间范围如下
Start Time Range (listbox) = 12:00 AM To 11:59PM
End Time Range (listbox) = 12:00 AM To 11:59PM
然后如何验证开始时间小于结束时间或结束时间大于开始时间
Start-time < End-time OR End-time > St-time
考虑JS代码中的时间格式,由于时间格式无法实现差分逻辑
Format: '9:00 AM'
Format: '5:00 PM'
在调查这个之后,我得到了这里。
如果时间格式为 12 小时制或 24 小时制,则最佳做法。
//start time
var start_time = $("#start_time").val();
//end time
var end_time = $("#end_time").val();
//convert both time into timestamp
var stt = new Date("November 13, 2013 " + start_time);
stt = stt.getTime();
var endt = new Date("November 13, 2013 " + end_time);
endt = endt.getTime();
//by this you can see time stamp value in console via firebug
console.log("Time1: "+ stt + " Time2: " + endt);
if(stt > endt) {
$("#start_time").after('<span class="error"><br>Start-time must be smaller then End-time.</span>');
$("#end_time").after('<span class="error"><br>End-time must be bigger then Start-time.</span>');
return false;
}
您必须将字符串转换为可以在时间方面进行比较的值。 Date.parse
派上用场,尽管您还需要传递日期。由于您只关心时间,因此请对两者使用相同的假日期。
if(Date.parse("1-1-2000 " + st) > Date.parse("1-1-2000 " + et)) {
你甚至可以尝试以下jquery规则: jQuery.validator.addMethod
jQuery.validator.addMethod("timeValidator",
function (value, element, params) {
var val = new Date('1/1/1991' + ' ' + value);
var par = new Date('1/1/1991' + ' ' + $(params).val());
if (!/Invalid|NaN/.test(new Date(val))) {
return new Date(val) > new Date(par);
}
return isNaN(val) && isNaN(par)
|| (Number(val) > Number(par));
}, 'End Time must be greater than Start Time.');
你可以调用规则:
$("#txtToTime").rules('add', { timeValidator: "#txtFromTime" });
如果它们是选择元素,并且选择元素中的顺序相同,请比较 selectedIndex。无需解析日期。
将它们转换为 Date 对象:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
然后使用常用的比较器:
使用 JavaScript 比较两个日期
相关文章:
- Jquery如何检查今天的时间大于使用给定时间
- Jquery函数在错误的时间提交
- Moment/Jquery-一个简单时间线的愚蠢问题
- javascript/jquery将utc转换为短格式的本地时间
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- 用Jquery map和moment js制作一个简单的时间线
- 在jQuery中,短距离长持续时间的精细字体大小动画
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- Jquery:直到寄存器打开的时间计数器
- 如何检查日期选择器和时间选择器元素是否使用JQuery/Javascript设置
- 当出现多个字段时,jquery时间条目问题
- 如何优化这个jquery循环的执行时间
- 在jquery中对时间数组进行排序
- 使用jquery在特定的时间间隔自动切换/动画css类
- jQuery动画的持续时间就像一个延迟
- jQuery日期时间选择器-如何在javascript中获取日期
- jQuery日期[时间]选择器-如何保存时间范围(+修改日期格式)
- DateTimePicker -禁用一天中已经过去的时间(JQuery)
- 即-按键发生的所有时间- jquery
- 设置日期和时间JQuery的问题