用jquery比较两个时间变量

时间:2014-04-15 14:52:52

标签: javascript jquery

这是我的jQuery代码。在此代码中,#StartTime#EndTime是表单输入标记ID。

获取时间格式为00:00 AM / PM。

var starttimeval和endtimeval包含获取开始和结束时间的值。

如何比较这两次,例如:if(starttimeval < endtimeval){alert(message);}

  $(function() {
    $('#StartTime').datetimepicker({
        datepicker : false,
        format : 'g:i A'
    });
    $('#EndTime').datetimepicker({
        datepicker : false,
        format : 'g:i A'

    });
     var starttimeval=  $("#StartTime").val();
     var endtimeval= $("#EndTime").val();

      });

this is my form image.its show the time selection using datetimepicker plugin.

我只想要时间比较功能。示例获取starttimeval = 8:00 PM和endtimeval = 9:00 AM

的值

3 个答案:

答案 0 :(得分:2)

嗯,你有没有试过这样的事情:

var dateBegin = $('StartTime').datepicker('getDate').getTime():
var dateEnd = $('EndTime').datepicker('getDate').getTime();
if (dateBegin == dateEnd)
   // some stuff

在文档中看到。 (我假设您正在使用来自jquery ui的datetimepicker)

答案 1 :(得分:0)

试试这个:

  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");
  }

答案 2 :(得分:0)

从表单中获取值将返回字符串,最好将字符串转换/解析为 javascript Date objects 并进行比较

var starttime = new Date("April 14, 2014 11:00 PM");
var endtime = new Date("April 15, 2014 1:00 AM");

<强> FIDDLE

每当你开始处理日期/时间比较时,你的第一个想法就是开始解析字符串并添加if条件来测试各种条件,比如跨越午夜......停止,停止。

使用日期和时间最好留给已建立的代码,无需重新发明轮子。