2012-06-26 3 views
1

select 이벤트에는 시작 날짜와 종료 날짜가 매개 변수로 있습니다. 또한fullCalendar 시간 비교

나는 시간

의 목록을 가지고 내 목록의 항목 중 하나가

3 오브젝트가 날짜 형식에 시작 및 종료 시각 이벤트의 사이에 있다면 내가보고 싶어

어떻게 3 날짜를 비교해 볼 수 있습니까?

select: function (start, end, allDay) { 
     var defaultTemplate = undefined; 
     $.each(jsonTimeTemplates, function(){ 
      templateStartTime = $.fullCalendar.parseDate(this.Start); 
      templateEndTime = $.fullCalendar.parseDate(this.End); 
      if((templateStartTime.getTime() >= start.getTime()) && ( templateStartTime.getTime() <= end.getTime())){ 
       defaultTemplate = this; 
      } 
     });    
    }, 

이 경우 jsonTimeTemplates는 내 개체 목록이지만 방화 광구로 디버깅 할 때는 if 문장이 적용되지 않습니다. 00 & & 8시 < = 8시 15분 enter image description here

내가 날짜가 여기에 문제를 만드는이 arent 희망 : 난 8시> = 8이 어디 여기

난 내 디버깅의 스크린 샷을 가지고있다.

답변

0

나는 gethours 및 getminutes 함수를 사용하여 비교를 수행했습니다. 하지만 난 프로그래머에게 dateTo보다 작은 dateFrom 경우이

if((templateStartTime.getHours() >= start.getHours()) && (templateStartTime.getHours() <= end.getHours()) && 
    (templateStartTime.getMinutes() >= start.getMinutes()) && (templateStartTime.getMinutes() <= end.getMinutes())) 
{ 
    defaultTemplate = this; 
} 
1
function compareDates(dateFrom, dateTo){ 
    if (Date.parse(dateTo) < Date.parse(dateFrom)) 
     return true; 

    return false; 
} 

이 함수가 true를 반환 할 수있는 더 좋은 방법을 바랍니다. 이 기능을 사용하여 목표를 달성 할 수 있습니다.

함수 호출 :

var startDateStr = $.fullCalendar.formatDate(start, 'MM/dd/yyyy hh:mm tt'); 
var endDateStr = $.fullCalendar.formatDate(end, 'MM/dd/yyyy hh:mm tt'); 
compareDates(startDateStr, endDateStr);