Javascript 使用jquery比较两个时间变量
这是我的jQuery代码。在此代码中,Javascript 使用jquery比较两个时间变量,javascript,jquery,Javascript,Jquery,这是我的jQuery代码。在此代码中,#开始时间和#结束时间是表单输入标记id 获取时间格式为00:00am/PM var starttimeval和endtimeval包含获取开始时间和结束时间的值 如何比较这两次,例如:if(starttimeval
#开始时间
和#结束时间
是表单输入标记id
获取时间格式为00:00am/PM
var starttimeval和endtimeval包含获取开始时间和结束时间的值
如何比较这两次,例如:if(starttimeval
我只想要时间比较功能。示例获取starttimeval=8:00 PM和endtimeval=9:00 AM的值尝试以下操作:
var start=$("#StartTime").val();
var starttimeval= start.split("/");
var startdt= new Date(starttimeval[2], starttimeval[1] - 1, starttimeval[0],starttimeval[3],starttimeval[4]);
var end=$("#StartTime").val();
var endtimeval= end.split("/");
var enddt= new Date(endtimeval[2], endtimeval[1] - 1, endtimeval[0],endtimeval[3],endtimeval[4]);
if (startdt< enddt) {
alert("startdt is before current date");
}else{
alert("startdtis after current date");
}
var start=$(“#StartTime”).val();
var starttimeval=start.split(“/”);
var startdt=新日期(starttimeval[2],starttimeval[1]-1,starttimeval[0],starttimeval[3],starttimeval[4]);
var end=$(“#StartTime”).val();
var endtimeval=end.split(“/”);
var enddt=新日期(endtimeval[2],endtimeval[1]-1,endtimeval[0],endtimeval[3],endtimeval[4]);
如果(开始时间<结束时间){
警报(“startdt在当前日期之前”);
}否则{
警报(“当前日期后的StartTis”);
}
嗯,你试过这样的方法吗:
var dateBegin = $('StartTime').datepicker('getDate').getTime():
var dateEnd = $('EndTime').datepicker('getDate').getTime();
if (dateBegin == dateEnd)
// some stuff
从医生那里看到的。
(我假设您使用的是jQueryUI中的datetimepicker)从表单获取值将返回字符串,最好将字符串转换/解析为并进行比较
var starttime = new Date("April 14, 2014 11:00 PM");
var endtime = new Date("April 15, 2014 1:00 AM");
每当您开始处理日期/时间比较时,您的第一个想法就是开始解析字符串并添加if
条件来测试各种条件,如跨越午夜……停止,停止
处理日期和时间最好留给已建立的代码,无需重新发明轮子。starttimeval和endtimeval是什么样子?@tadman
获取时间格式是00:00 AM/PM。
我的意思是,你得到的是什么实际值,而不是理论上的值。12小时的时间无法直接比较。有两个具体的例子将有助于做到这一点,因为它不需要安装日期选择器来测试它。那么跨越午夜呢?23:00
是否始终大于01:00
?当我单击提交按钮时,开始时间值和结束时间值存储到变量starttimeval和endtimeval。但我需要验证。因此,如果开始时间小于结束时间,请比较两次,并发出警报消息。因此,我需要时间比较功能。
var starttime = new Date("April 14, 2014 11:00 PM");
var endtime = new Date("April 15, 2014 1:00 AM");