通过时差使用JQuery想知道第二次是同一天还是另一天

时间:2015-07-20 08:52:58

标签: javascript jquery

在我的班次报告中,有StartTime和EndTime字段。我之间已经有了区别,但我确实想知道EndTime是另一天还是不是。

对于前。 ClockIn时间是09:00 AM,ClockOut Time是12:30 Am,所以总工作时间是15:20。现在我需要将它分成两排。这意味着如果日期更改,那么我需要显示两行,如第一行中相同的日期,我必须显示工作时间是15:00,下一个日期我必须显示工作时间是00:20。我已经通过使用以下功能获得了不同。

function diffTime(start, end) {

    var timeStart = new Date("01/01/2007 " + start);
    var timeEnd = new Date("01/01/2007 " + end);
    var seconds = Math.floor((timeEnd - (timeStart)) / 1000);
    var minutes = Math.floor(seconds / 60);
    var hours = Math.floor(minutes / 60);
    var days = Math.floor(hours / 24);

    hours = hours - (days * 24);
    minutes = minutes - (days * 24 * 60) - (hours * 60);
    seconds = seconds - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);

    return (hours < 9 ? "0" : "") + hours + ":" + (minutes < 9 ? "0" : "") + minutes + ":" + (seconds < 9 ? "0" : "") + seconds;
}

现在请任何人告诉我如何根据我的要求在两个不同的日期区分它。

2 个答案:

答案 0 :(得分:0)

jQuery无法真正帮助您进行日期操作。但是你无论如何都不需要它。

var sameDay = timeStart.getDate() == timeEnd.getDate(); // Will tell you if the 2 dates are on the same day
var sameMonth = timeStart.getMonth() == timeEnd.getMonth(); // Will tell you if the 2 dates are on the same month
var sameYear = timeStart.getFullyear() == timeEnd.getFullyear(); // Will tell you if the 2 dates are on the same day

if (!sameDay && !sameMonth && !sameYear) {
    // timeStart and timeEnd are not in the same day. Do whatever you want.
}

答案 1 :(得分:0)

如果您复制了日期,可以使用setHours()将时间部分设置为0,从而仅比较日期:

   startdate.setHours(0,0,0,0);
   enddate.setHours(0,0,0,0);
   if (startDate != enddate){

参考: http://www.w3schools.com/jsref/jsref_sethours.asp

或者只使用日期/时间值的年,月和日来构建日期。

   startDate = new Date(timeStart.getFullYear(), timeStart.getMonth(), timeStart.getDate());
   endDate = new Date(timeEnd.getFullYear(), timeEnd.getMonth(), timeEnd.getDate());
   if (startDate != enddate){