2012-06-26 47 views
1

在選擇事件我有事件的開始日期和結束日期作爲參數。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

是我的對象列表中,但是當我使用Firebug調試if語句永遠不會應用。

這裏我有我調試的截屏在那裏我有 8:00> = 8:00 & & 8:00 < = 8:15 enter image description here

我希望日期的arent在這裏做的問題。

回答

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