カウントダウンタイマーの不明点について

このQ&Aのポイント
  • 決められた日時までカウントダウンするJavascriptが欲しいと思ってウェブ上で発見したスクリプトを拝借してきて少しコメントを変えて私のサイトに置きましたが、日数が28日ほどずれているのです。
  • 私は素人でどこをどうしたら良いか分かりません。本を借りてきて少しずつ勉強しているのですが、できるなら早い内に完成させたいと思い、みなさんのお知恵を拝借させていただこうと思いました。
  • やりたいことは、1.秒数のリアルタイム表示 2.数字は画像で表示したいです。
回答を見る
  • ベストアンサー

カウントダウンタイマーの不明点について

決められた日時までカウントダウンするJavascriptが欲しいと思ってウェブ上で発見した スクリプトを拝借してきて少しコメントを変えて私のサイトに置きました。 でも、日数が28日ほどずれているのです。 私は素人ですのでどこをどうしたら良いかも分かりません。 本を借りてきて少しずつ勉強しているのですが、 できるなら早い内に完成させたいと思い みなさんのお知恵を拝借させていただこうと思いました。 下記ページの http://q.hatena.ne.jp/1143633822 の一番下(回答者6の方)のものです。 やりたいことはこうです。 1.秒数のリアルタイム表示 2.希望として数字は画像で表示したい。 よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

コードは全然見ていませんが、おそらく原因は > 設定時間は objCD.setTarget(new Date(2006, 3, 16, 9, 29, 59)); > 今こんなんなってますが、これが2006/4/16 9:29:59という意味です。 ここでしょう。月の指定をよく見てください。これは誤植ではありません。 JavaScriptに限らない話ですが、コンピュータ上の日付処理ライブラリでは、 月の指定は、0~11で、1月~12月を表すことになっているものがよくあります。 (英語圏では月を数値で表すよりも、Jan/Feb/Mar…Dec という文字列で表記することが多く、 文字列で表記するためのインデックス値としては、1から始めるよりも0から始める方がコンピュータにとって扱いやすいためです) そういった指定のライブラリを仕様する場合は、(4月を指定するときは第2引数は3にするように)月の指定を1つずらす必要があります。

関連するQ&A

  • カウントダウンJavascript

    W杯開幕までのJavascriptが欲しいと思ってウェブ上で発見した スクリプトを拝借してきて少しコメントを変えて私のサイトに置きました。 でも、2,3変更したい点が有るのです。 私は素人ですのでどこをどうしたら良いかも分かりません。 本を借りてきて少しずつ勉強しているのですが、 できるなら早い内に完成させたいと思い みなさんのお知恵を拝借させていただこうと思いました。 やりたいことはこうです。 1.秒数のリアルタイム表示 キックオフまで後何秒!という風にもカウントダウンしてみたいのです。 2.残り時間による表示切り替え 残り一日を切ったら「後何時間」という風に自動的に切り変えることはできないのでしょうか。 同様に分→秒→キックオフ→秒(経過)→分(経過)という風にできたら最高なのですが。 3.画像表示 カウンタの時間を画像で表示してみたいのです。 1から9までの数字を書いた画像を用意しておいて 残り365日なら3.gif,6.gif,5.gifと順に並べたいのです。 一度にたくさん質問してしまい申し訳有りません。 どうかよろしくお願いいたします。

  • 日数カウントダウンが、ブラウザによって文字化けする。

    日数カウントダウンが、ブラウザによって文字化けする。 以下のように、日数のカウントダウンを表示しているのですが、 IEでは正常に表示されるのですが、 safari、firefoxでは、文字化け(数桁の数字が表示)します。 (その他のブラウザは未確認です。) ↓(日数カウントダウンのソース)================================= <script language="JavaScript"> <!-- today=new Date() next_date=new Date(2011, 1, 1); //2011/1/1までの日数を表示。 last=Math.floor((next_date.getTime()-today.getTime())/(24*60*60*1000))+1; document.write("あと",Math.floor(last),"日"); // --> </script> ↑(日数カウントダウンのソース)================================= ブラウザの設定も確認したのですが、原因がわかりませんでした。 ご存知の方、ご教授願います。よろしくお願いします。

  • Javascriptのカウントダウンについて

    現在、カウントダウンタイマーをJavascriptで書いておりますが、質問させて下さい。 例えば朝7時からカウントダウンを開始し、夕方4時になったら「カウントダウン終了!次回のカウントダウンは○月○日(○曜日)です!」とコメントさせて次回のカウントダウン日時(朝7時)になったら、自動でまたカウントダウンさせたい(夕方4時にカウントダウン終了)のですが、どうすれば出来るのでしょうか?m(_ _)m ちなみに○月○日(○曜日)の部分は基本的に次の日にさせたいのですが、次の日が日曜日や祝日の場合はそれを除いた次の日を表示させたいです。 これはJavaScriptで出来ますか? JavaScriptのコードはここを参考に引用しています。 http://javascript123.seesaa.net/article/102586838.html どなたか教えてください。よろしくお願いいたします。

  • カウントダウンタイマー

    カウントダウンタイマーをJavascriptでもって設置したのですが表示される度に定時からスタートする場合はどうやればよいのでしょうか?つまり仮に4月1日を締め切りにしてそれをすぎたら終了ではなく、常に後3日までや5日までのカウントダウンをしたいのです。言葉足らずな初心者で申し訳ないのですがよろしくお願い致します。以下現在使用のscriptです。 <SCRIPT language=JavaScript> <!-- millenium = new Date(2007,3,31,23,59,00) function display() { today = new Date() myMsec= millenium.getTime()-today.getTime(); time0 = Math.floor(myMsec/(1000*60*60*24));// カウントダウン用'日' 取得 myMsec -= (time0*(1000*60*60*24)); // 経過秒から'時'を引く time1 = Math.floor(myMsec/(1000*60*60));// カウントダウン用 '時' 取得 myMsec -= (time1*(1000*60*60)); // 経過秒から'時'を引く time2 = Math.floor(myMsec/(1000*60)); // カウントダウン用 '分' 取得 myMsec -= (time2*(1000*60));// 経過秒から'分'を引く time3 = Math.floor(myMsec/1000);// カウントダウン用 '秒' 取得 myMsec -= (time3*(1000)); // 経過秒から'秒'を引く time4 = Math.floor(myMsec/10);// カウントダウン用 '少数秒' 取得 for(i=0;i<2;i++){ time2 = '' + '0' + time2; } for(i=0;i<2;i++){ time3 = '' + '0' + time3; } for(i=0;i<2;i++){ time4 = '' + '0' + time4; } time2 = time2.substring(time2.length - 2,time2.length); time3 = time3.substring(time3.length - 2,time3.length); time4 = time4.substring(time4.length - 2,time4.length); time0 = time0 - 31; if((millenium - today) > 0){ document.f.days.value = "締め切りまで"+time0+"日と"+time1+":"+time2+":"+time3+"."+time4+"です" }else{ document.f.days.value = "受け付けは終了しました" } tid = setTimeout('display()', 10) } display() // --> </SCRIPT>

  • ブラウザの「戻る」を押しても有効なカウントダウン

    ブラウザの「戻る」を押しても有効なカウントダウン PHPで取得した時間を使ってカウントダウンを表示させるプログラムに 挑戦中なのですが、今の知識で解決出来ない問題が出ているのでご質問させて 頂きました。 PHPで取得した時間が45秒だった場合、残り45秒からカウントダウンが 始まります。javascriptにこの「45」を読み込ませて、45秒から 1秒ずつリアルタイムに秒が減っていくという形です。 0秒が過ぎたら-1秒、-2秒と進んでいきます。 下記のスクリプトで、それが実現出来ました。 ---------------------- <script type="text/javascript"> <!-- var phpsecond=<?php print date(s) ?>; var countSecond=60; var nowSecond=second; function countdown(){ document.getElementById('countdown').innerHTML=countSecond-nowSecond; nowSecond++; setTimeout('countdown()',1000); } //--> </script> </head> <body onload="countdown()"> ----------------------- ただ問題があって、ずっとこのページを見ている状態であれば 大丈夫なのですが、 ページを移動させた後、ブラウザの「戻る」でこのページに戻ると、 移動していた間の時間が止まってしまい、 ページを移動する直前の秒からカウントダウンが再開してしまいます。 これを何とか、ページに戻ってきた時にすぐ正しい秒を表示し直すように 命令したいのですが可能でしょうか? 私なりに考えたのが、 PHPの時間とjavascript時間との差をjavascriptに変数で覚えさせれば 常に正しい時間が表示出来るのかなと思いました。 良い記述方法がございましたら、ご教授頂けますと幸いです。 ※それから、このページに戻った際、カウントダウンが0秒を切っていた場合は ページを自動的にリロードするようにしたいです。 宜しくお願い致します。

  • javascriptでカウントダウンタイマー

    お世話になります。 JavaScriptでカウントダウンをWEBに表示させたいと思っています。 WEBで見つけた3種類を試してみました。 下記、例A 締め切りを1カ月後に指定 <!-- the_day = new Date(2008,11,8) function countdown() { today = new Date() days = Math.floor((the_day-today)/(24*60*60*1000)) hours = Math.floor(((the_day-today)%(24*60*60*1000))/(60*60*1000)) minutes = Math.floor(((the_day-today)%(24*60*60*1000))/(60*1000))%60 seconds = Math.floor(((the_day-today)%(24*60*60*1000))/1000)%60%60 if((the_day - today) > 0){ document.f.days.value = days+"日"+"と"+hours+"時間"+minutes+"分"+seconds+"秒" }else{ document.f.days.value = "締め切りました" } tid = setTimeout('countdown()', 1000) } // --> <body> <FORM NAME=f> <INPUT TYPE=text SIZE=45 NAME=days> </FORM> <SCRIPT Language="JavaScript"> countdown(); </SCRIPT> </body> 以上 ブラウザでの表示「60日と5時間50分18秒」 残り、30日と表示されるべきところが、60日と表示されます。 PCの日付は合ってますし、他の者の環境でも同じ日にちでした。 そこで質問です。 1)試した3種類とも同様の日にちになりました。ということは間違いではなく、何か理由があるのですよね? 2)<days>を、(-30)にすれば数字的には合うのですが、問題ないでしょうか?   days = Math.floor((the_day-today)/(24*60*60*1000))-30 3)「22時締め切り」にしたいのですが、時間の指定は出来ないでしょうか?  初歩以前の質問で申し訳ありませんが、正しい書き方を教えていただければ、嬉しいです。 どうぞよろしくお願い致します。

  • カウントダウンJSにタイマーは付けられますか?

    カウントダウンプログラムを使用しているのですが、 毎日0時になったらカウントダウンがスタートするように改造したく思います。 (カウントダウンが始まる前は非表示にしておきたいです。) 使っているソースは以下です。 お詳しい方、教えていただけませんでしょうか。 よろしくお願いいたします! ----------------------------------- <!-- カウントダウン --><DIV id="myCwww"></DIV> <SCRIPT language="JavaScript"><!-- function myCountd(){ myHyouji = 1; //0で秒数、1で日数含む形式 mySetname = "セール終了"; //目標時間の名称 mySetyear = 2011; //目標年 mySetmon = 3; //目標月 mySetday = 6; //目標日 mySethour = 23; //目標時 mySetmin = 59; //目標分 mySetsec = 59; //目標秒 myTime = new Date(); mySettime = new Date(mySetyear,mySetmon - 1,mySetday,mySethour,mySetmin,mySetsec); myTimeth = (Math.floor( ( myTime.getTime() - mySettime.getTime() ) / 1000) ) * -1; if(myTimeth > -1){ myChunts = 0; } else { myChunts = 1; myTimeth = myTimeth * -1; } if(myHyouji == 1){ var myWarid = 0; var myWarih = 0; var myWarim = 0; if(myTimeth > 86399){ myWarid = myTimeth / 86400; myWarid = Math.floor(myWarid); myTimeth = myTimeth - (86400 * myWarid); } if(myTimeth > 3599){ myWarih = myTimeth / 3600; myWarih = Math.floor(myWarih); myTimeth = myTimeth - (3600 * myWarih); } if(myTimeth > 59){ myWarim = myTimeth / 60; myWarim = Math.floor(myWarim); myTimeth = myTimeth - (60 * myWarim); } myTimeth = myWarid + "日と" + myWarih + "時間" + myWarim + "分" + myTimeth; } if(myChunts == 0){ document.getElementById("myCwww").innerHTML = mySetname + "まで、あと" + myTimeth + "秒です"; } else { document.getElementById("myCwww").innerHTML = "セール終了いたしました。"; } } setInterval("myCountd()", 1000); // --></SCRIPT><!-- カウントダウン -->

  • センター試験のカウントダウンをしてくれるPC壁紙

    windows7/32bitです。 2012年のセンター試験までの残り日数をカウントダウンしてくれる PC用の壁紙はありませんか? (リアルタイムで時間が流れる訳だから壁紙は厳しいですかね・・・。) もしくは、ガジェットなどでデスクトップの端っこにカウントダウンが表示される方式のでも 構わないです。 できれば、秒数までカウントしてくれている方が良いです。 どなたか心当たりある方、良いのがあれば教えて下さい。 参考までに↓、 ttp://deadlinetimer.com/timer/952 の様なのが良いのですが、壁紙にはできないので・・・。

  • javascript カウントダウンタイマーについて

    下記のサイトのようなカウントダウンタイマーを作成したく 色々と検索してるのですが全然見つかりません。 http://www.countdownbooster.com/ このサイトのように100分の1秒まで表示させて 例えば期限を明日と数字で設定するのではなく サイトに訪れてから●日後や●分後を期限にしたいのです。 尚且つクッキーで期限が切れたら何度訪れても終了!と表示させたいのですが可能でしょうか? 下記のサイトが訪れてから1週間後に終了と表示されるサイトです。 http://www.successlab.jp/u25/full/ ※但し、100分の1秒まで表示されてません。 例えば7月31日と指定して 残り8日と●時間●分●秒●と 表示出来るJavaScriptはあるのですが 上記のような全てを満たすJavaScriptがありません。 ご存じの方がいたら是非、力をお貸し下さいませんか? 宜しくお願い致します。

  • カウントダウンがうまくいかない!

    来年の4月17日に向けてカウントダウンさせたいと思っています。JavaScriptの参考ページを見てソースを頂こうと思っているのですが、うるう年のせいもあってか、日数が合わなかったり、表示される内容が違っています。 時間はあってもなくてもいいのですが、 出産予定日まであと  XX 日というJavaScriptを書くにはどのようにすればいいのでしょうか? お手数お掛けいたしますが、ご存知の方、いらっしゃいましたら教えてください。宜しくお願いいたします。

専門家に質問してみよう