如何在没有日期的jquery中比较两个时间变量

时间:2014-04-15 20:30:01

标签: javascript jquery

这是我的jquery代码。#StartTime和#EndTime是输入表单tag.starttime和entime只包含时间值,而不是日期值。然后如何在jquery中比较这两个时间值。 例如:starttimeval = 8:00 AM endtimeval = 9:00 PM(变量内的日期值仅为时间)

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

    });
             var starttime=  $("#StartTime").val();
            var endtime= $("#EndTime").val();
  });

这是我的表单image.it显示时间值。enter image description here

2 个答案:

答案 0 :(得分:3)

假设时间总是在一小时,那么这里有一个函数可以将您输入的值转换为24小时:

function getHour24(timeString)
{
    time = null;
    var matches = timeString.match(/^(\d{1,2}):00 (\w{2})/);
    if (matches != null && matches.length == 3)
    {
        time = parseInt(matches[1]);
        if (matches[2] == 'PM')
        {
            time += 12;
        }
    }
    return time;
}

然后,如果你想找到差异,那就做:

var starttime =  getHour24($("#StartTime").val());
var endtime = getHour24(($("#EndTime").val());

var timeDifference = endtime - starttime;

希望有所帮助!

答案 1 :(得分:1)

使用构造函数创建一个新的Date对象:

new Date(year, month, day, hour, minute, second, millisecond);

做简单比较

var difference = dateObject1 - dateObject2;

年份,日期使用1,因为没有0年和日,因为从0开始索引,所以每月使用0。