在我的班次报告中,有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;
}
现在请任何人告诉我如何根据我的要求在两个不同的日期区分它。
答案 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){