ON-Air Timer

次の放送まで、あと、 です


えーと、特定の曜日の特定の時刻までの残り時間を表示します。
#って、何処にでもありそうな...
簡単な時間処理です。
function init(){...}内の値を変更して使ってみてください。
以下Script
  function init(){
    //放送開始時刻
    onAirTime = 23 * 3600 + 30 * 60 + 0;//(ex. 23:30:00)
    //放送曜日
    onAirDay  = 2; //(日:0;月:1;火:2;水:3;木:4;金:5;土:6) 
    setInterval('timer()',1000);
  }

  function timer(){
    myD   = new Date();
    myHour = myD.getHours() * 3600;
    myMin  = myD.getMinutes() * 60;
    mySec  = myD.getSeconds();
    myNow  = myHour + myMin + mySec;
    myDay  = myD.getDay();

    DayCount = (onAirDay - myDay < 0) ? onAirDay - myDay + 7 : onAirDay - myDay;

    myMsec = DayCount * 24 * 3600 + onAirTime - myNow;
    myMsec = (myMsec < 0) ? 7 * 24 * 3600 + myMsec : myMsec;

    myNextDay  = Math.floor(myMsec/(60*60*24)); // カウントダウン用 '日' 取得
    myMsec     -= (myNextDay*(60*60*24));       // 経過秒から'日'を引く
    myNextHour = Math.floor(myMsec/(60*60));    // カウントダウン用 '時' 取得
    myMsec     -= (myNextHour*(60*60));         // 経過秒から'時'を引く
    myNextMin  = Math.floor(myMsec/(60));       // カウントダウン用 '分' 取得
    myMsec     -= (myNextMin*(60));             // 経過秒から'分'を引く
    myNextSec  = Math.floor(myMsec);            // カウントダウン用 '秒' 取得

    myDisp = "";                                     // 時間バッファ クリア
    if (myNextDay  != 0)myDisp+=myNextDay+"日と ";   // 0日なら表示しない
    if (myNextHour != 0)myDisp+=myNextHour+"時間 ";  // 0時間なら表示しない
    if (myNextMin  != 0)myDisp+=myNextMin+"分 ";     // 0分なら表示しない
    myDisp+=myNextSec+"秒";                          // 秒セット
    document.myForm.myFormDate.value = myDisp;       // 時間をセット(表示)
  }
  
  <body onload="init()">

On-Air Timer
WebSite :JavaScriptの部屋別館
E-Mail    :blaze@gol.com
最終更新日 :2000/10/19