Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在datepicker中验证日期时间?_Javascript_Jquery_Jquery Ui_Jquery Plugins_Jquery Ui Datepicker - Fatal编程技术网

Javascript 如何在datepicker中验证日期时间?

Javascript 如何在datepicker中验证日期时间?,javascript,jquery,jquery-ui,jquery-plugins,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui,Jquery Plugins,Jquery Ui Datepicker,我在表单中有两个DateTimePicker来输入开始时间和结束时间。 开始时间的ID为“开始时间”,结束时间的ID为“结束时间”。 我尝试比较开始时间和结束时间,并验证开始时间不应大于结束时间 现在,我想写一个验证,这样结束时间应该至少比开始时间长1小时。 样本链接: 我试过了,开始时间和结束时间是一样的。但我不知道如何将结束时间增加1小时。 例如,如果开始时间值为03-23-2012上午10:00,则我希望结束时间为03-23-2012上午11:00 有人能帮我吗 谢谢好的,这里是第一个,是

我在表单中有两个DateTimePicker来输入开始时间和结束时间。
开始时间的ID为“开始时间”,结束时间的ID为“结束时间”。

我尝试比较开始时间和结束时间,并验证开始时间不应大于结束时间
现在,我想写一个验证,这样结束时间应该至少比开始时间长1小时。
样本链接:

我试过了,开始时间和结束时间是一样的。但我不知道如何将结束时间增加1小时。

例如,如果开始时间值为03-23-2012上午10:00,则我希望结束时间为03-23-2012上午11:00 有人能帮我吗


谢谢

好的,这里是第一个,是您想要的版本,其余的都是您可以用来调试的

**最终解决方案增加+1**

简单日期验证演示

时间验证

另外,如果您取消注释掉我注释过的代码以生成验证,那么您将永远不会遇到需要验证的情况。:)

步骤-我已经注释掉了一行,所以现在您可以选择开始日期,然后在第二个文本框中选择结束日期,但小于开始日期,然后将显示警报

'还请注意:'如果您取消注释掉我在JSFIDLE DATETIMECIPKER中注释掉的行,则永远不会允许您在此设置中选择日期小于开始日期的行

HTML

<div style="margin: 15px;">
    <input id="example16_start" type="text" value="" name="test">
    <input id="example16_end" type="text" value="" name="test">
</div>
​
Phew,这可能会帮助您在了解了这个新的日期时间选择器后找到方法:

**(我在jsfiddle中将几个变量命名为您的名字srry)


这将有帮助,如果你想,我可以减少一些代码,但你也可以这样做,好链接,虽然,干杯

好的,这里是第一个,它是您想要的版本,其余的都是您可以用来调试的版本

**最终解决方案增加+1**

简单日期验证演示

时间验证

另外,如果您取消注释掉我注释过的代码以生成验证,那么您将永远不会遇到需要验证的情况。:)

步骤-我已经注释掉了一行,所以现在您可以选择开始日期,然后在第二个文本框中选择结束日期,但小于开始日期,然后将显示警报

'还请注意:'如果您取消注释掉我在JSFIDLE DATETIMECIPKER中注释掉的行,则永远不会允许您在此设置中选择日期小于开始日期的行

HTML

<div style="margin: 15px;">
    <input id="example16_start" type="text" value="" name="test">
    <input id="example16_end" type="text" value="" name="test">
</div>
​
Phew,这可能会帮助您在了解了这个新的日期时间选择器后找到方法:

**(我在jsfiddle中将几个变量命名为您的名字srry)


这将有帮助,如果你想,我可以减少一些代码,但你也可以这样做,好链接,虽然,干杯

你使用的日期选择器允许时间?你在用什么小部件?哎呀!我忘了提一下,它是一个日期时间选择器。你能提供一个到那个插件的链接吗?嗨,安德鲁,我现在已经包括在问题中了。你用什么来验证?你用的是一个允许时间的日期选择器?你在用什么小部件?哎呀!我忘了提一下,它是一个日期时间选择器。你能提供一个指向该插件的链接吗?嗨,安德鲁,我现在已经包括在问题中了。你用什么进行验证?嗨,塔斯厄尼特,谢谢你的帮助。嗨,塔斯厄尼特,谢谢你的帮助。
<div style="margin: 15px;">
    <input id="example16_start" type="text" value="" name="test">
    <input id="example16_end" type="text" value="" name="test">
</div>
​
  var startDate = $('#example16_start').datetimepicker('getDate');
   var endDate = new Date(parseFloat(startDate.setHours(startDate.getHours()+1)));

   //Get the ending date datepart
   var endDateDatePart = endDate.getFullYear() + '/' + endDate.getMonth() + '/' + endDate.getDate();

   //calculate the ending date time part including AM/PM
   var endDateTimePart;
   if (endDate.getHours() > 12) { endDateTimePart = endDate.getHours()-12 + ':' + endDate.getMinutes() + ' PM';} else {endDateTimePart = endDate.getHours() + ':' + endDate.getMinutes() + ' AM';}
   $('#example16_end').datetimepicker('setDate', endDateDatePart + ' ' + endDateTimePart );


}