0

//指定された時間が経過したかどうか、または現在のマシン時間と比較されていないかどうかを確認しています。//開始時刻と終了時刻が過ぎてもアラートが表示されません。

 var currDate  = new Date();
    var startDate = setTime("09:30:00");
    var endDate   = setTime("10:15:00");

// "hh:mm:ss" 形式の入力文字列を指定すると、 // 今日と同じ日で、指定された時刻の日付オブジェクトが返されます。

function setTime(timeStr) {
    var dateObj = new Date();          // assuming date is today
    var timeArr = timeStr.split(':');  // to access hour/minute/second
    var hour    = timeArr[0]; 
    var minute  = timeArr[1];
    var second  = timeArr[2];

    dateObj.setHours(hour);
    dateObj.setMinutes(minute);
    dateObj.setSeconds(second);
    return dateObj;
}

// これで、それらを減算できます (2 つの Date オブジェクトを減算すると、 // 差がミリ秒単位で得られます)

if (currDate - startDate < 0 || currDate - endDate < 0) {
    alert("Unfortunately, you can't schedule a meeting in the past. 
             We apologize for the inconvenience.");
}
4

1 に答える 1

0

指定された時間が経過しているか、現在のマシン時間と比較されていないかを確認するには、次のように条件を変更します。

if (currDate > startDate && currDate  < endDate) 
{
    alert("Unfortunately, you can't schedule a meeting in the past. We apologize for the inconvenience.");
}

現在の時間が開始時間と終了時間の間にある場合、アラートが表示されます。

それがうまくいったかどうか教えてください。

于 2012-07-05T11:45:04.517 に答える