在select事件中,我将事件的开始日期和结束日期作为参数。
我也有一个时间列表
我希望查看列表中的任何项目是否在事件开始和结束时间之间
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&amp;&amp; 8:00&lt; = 8:15
我希望日期不会在这里出现问题。
答案 0 :(得分:1)
function compareDates(dateFrom, dateTo){
if ( Date.parse( dateTo ) < Date.parse( dateFrom ) )
return true;
return false;
}
如果 dateTo 小于 dateFrom ,则此函数返回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);
答案 1 :(得分:0)
同时我使用gethours和getminutes函数进行比较。但我希望有更好的方法来做到这一点
if( ( templateStartTime.getHours() >= start.getHours() ) && ( templateStartTime.getHours() <= end.getHours() ) &&
(templateStartTime.getMinutes() >= start.getMinutes() ) && ( templateStartTime.getMinutes() <= end.getMinutes() ))
{
defaultTemplate = this;
}