使用jQuery

时间:2017-05-23 05:17:09

标签: javascript jquery validation datetime-comparison

我有2个文本字段的页面(开始时间和结束时间)我正在使用HTML5时间元素,现在我想验证开始时间总是小于结束时间,我目前正在使用下面的脚本来验证

function checkTimings(source, argument) {
                    var sTime = new Date("01/01/0001 " + $("[id$=txtStartTimings]").val());
                    var eTime = new Date("01/01/0001 " + $("[id$=txtEndTimings]").val());
                    argument.IsValid = sTime < eTime;
                }

当两个时间都是上午或下午但是有一种情况,当开始时间是PM和结束时间是AM时,如下午11:45到12.15 AM,此工作验证失败。

有人能建议我们如何处理这种情况吗?

2 个答案:

答案 0 :(得分:0)

在进行计算之前,是否可以将它们转换为24小时格式?

function checkTimings(source, argument) {
                var sTime = new Date("01/01/0001 " + $("[id$=txtStartTimings]").GetHours());
                var eTime = new Date("01/01/0001 " + $("[id$=txtEndTimings]").GetHours());
                argument.IsValid = sTime < eTime;
            }

答案 1 :(得分:0)

您可以直接在数据构造函数中传递日期以获取实际日期。

function checkTimings(source, argument) {
                    var sTime = new Date($("[id$=txtStartTimings]").val());
                    var eTime = new Date($("[id$=txtEndTimings]").val());
                    argument.IsValid = sTime < eTime;
            }

如果问题仍然存在,那么只需在文本字段中更改日期格式,或者也可以在js函数中解析日期。