1

選択イベントでは、イベントの開始日と終了日をパラメーターとして持っています。

また、私は時間のリストを持っています

リストのアイテムのいずれかがイベントの開始時間と終了時間の間にあるかどうかを確認したい

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 のデバッグのスクリーンショットがあります。 ここに画像の説明を入力

ここで日付が問題にならないことを願っています。

4

2 に答える 2

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);
于 2012-06-29T17:14:36.607 に答える
0

その間に、関数gethoursとgetminutesを使用して比較を行いました。しかし、私はこれを行うためのより良い方法があることを願っています

if( ( templateStartTime.getHours() >= start.getHours() ) && ( templateStartTime.getHours() <= end.getHours() ) &&
    (templateStartTime.getMinutes() >= start.getMinutes() ) && ( templateStartTime.getMinutes() <= end.getMinutes() ))
{
    defaultTemplate = this;
}
于 2012-06-26T14:46:15.937 に答える