JavaScriptで0時00分から0時59分までは前日の日付を表示する方法は?

このQ&Aのポイント
  • ホームページ制作でJavascriptを使用しており、0時00分から0時59分までは前日の日付を表示するための方法を知りたい。
  • 現在のプログラムでは、2003-11-07のような日付を表示しているが、0時00分から0時59分までは前日の日付を表示したい。
  • yy, mm, ddを取得し、yyが2000未満の場合にyyに1900を足し、mmとddが10未満の場合には頭に0を付けることで実現できる。
回答を見る
  • ベストアンサー

時間の引き算をするには…?

ホームページ制作でJavascriptを使っています。 ホームページ閲覧者のコンピュータ内部の時計を利用したJavascriptなのですが、 日付の表示でお聞きしたいことがあります。 以下のプログラムは、2003-11-07のような表示をするようなJavascriptを組んでいるのですが、 0時00分から0時59分までは前日の日付を表示するJavascriptにしたいのです。 この場合、どのようにすればよいのでしょうか? よろしくお願いします ============================================================ <SCRIPT language=JavaScript> <!-- xx = new Date(); yy = xx.getYear(); mm = xx.getMonth() + 1; dd = xx.getDate(); if ( yy < 2000 ) { yy += 1900; } if ( mm < 10 ) { mm = "0" + mm; } if ( dd < 10 ) { dd = "0" + dd; } document.write( yy + "-" + mm + "-" + dd ); // --> </SCRIPT>

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

  • ベストアンサー
  • pureh
  • ベストアンサー率69% (36/52)
回答No.1

if 文以下の3行を追加して下さい。 一日戻すことで、月・年が変わる場合でもちゃんと追随します。 先頭の‘//’を削除して動作確認してみて下さい。 <script language="JavaScript"> <!-- xx = new Date(); //1月1日午前0時に設定して動作確認 //xx.setMonth(1 - 1); //xx.setDate(1); //xx.setHours(0); if (xx.getHours() == 0) { xx.setDate( xx.getDate() - 1 ); } yy = xx.getYear(); mm = xx.getMonth() + 1; dd = xx.getDate(); if ( yy < 2000 ) { yy += 1900; } if ( mm < 10 ) { mm = "0" + mm; } if ( dd < 10 ) { dd = "0" + dd; } document.write( yy + "-" + mm + "-" + dd ); //--> </script>

masa0720
質問者

お礼

ありがとうございました。 おかげで上手くできました。

関連するQ&A

  • 月の表示

    HPで今月を表示したいです。 数字がローマ字ですが、漢字で表示したいです。 例えば10月が十月で表示する事が可能ですか? <SCRIPT language="javascript"> dd = new Date(); yy = dd.getYear(); mm = dd.getMonth() + 1; dd = dd.getDate(); if (yy < 2000) { yy += 1900; } if (mm < 10) { mm = "0" + mm; } if (dd < 10) { dd = "0" + dd; } document.write("<FONT size='-1'>"); document.write(mm + "月" ); document.write("</FONT>"); </SCRIPT> 教えてください! お願いします。

  • javascriptでの日付更新の時間について

    初歩的なことですいませんが・・・ Javascriptについてご教授ください。 以下のような日付を表示するJavascriptがあります。 <SCRIPT LANGUAGE="JavaScript"> <!-- date = new Date(); y = date.getFullYear(); m = date.getMonth() + 1; d = date.getDate(); if (m < 10) { m = "0" + m; } if (d < 10) { d = "0" + d; } document.write(y + "/" + m + "/" + d); // --> </SCRIPT> これの場合、何時に見ようが今現在の日付が表示されますよね・・・ 例えばこれを午前10時になったら今日の日付に表示を変える・・・みたいなことってできますか?? (つまり午前0:00から9:59までは前日の日付を表示させるということなのですが・・・) 分かりにくかったらすいません。 どうかよろしくお願いします><

  • 好きな場所に表示したい。

    以下のソースは購入した本のサンプルです。 これによると、日付の表示が一番上に出ます。好きな場所に表示するのは、どうしたらよいでしょか。初心者なので、よろしくお願いします。 <html> <head> <title>JavaScript sample</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> <!-- //WEEK配列を用意して、月~土の文字を記憶させます。 WEEK=new Array(7); WEEK[0]="日"; WEEK[1]="月"; WEEK[2]="火"; WEEK[3]="水"; WEEK[4]="木"; WEEK[5]="金"; WEEK[6]="土"; today=new Date(); //現在の時間を持つDateオブジェクトを作成します YY=today.getFullYear(); //4桁の西暦をYYに代入 MM=today.getMonth(); //月をMMに代入 MM = MM + 1; //getMonth()は0~11なので、1を足します if(MM < 10){ //MMが10未満の時 MM = '0' + MM; //先頭に0をつけて2桁にします。 } DD=today.getDate(); //日付をDDに代入 if(DD < 10){ //DDが10未満の時 DD = '0' + DD; //先頭に0をつけて2桁にします。 } WDay=today.getDay(); //WDayに曜日を代入。WDayの値は //0~6となり、0が日曜、6が土曜となります。 JWDay = WEEK[WDay]; //WEEKのWDay番目の値が日本語の曜日となります。 //document.writeを使って、日付を表示します。 document.write("<div style='font-size:12px; color:#333333'>今日は"+YY+"年"+MM+"月"+DD+"日("+JWDay+")"+"です。</div>"); //--> </script> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html>

  • 明日の日にちを表示するときは

    下記のように1日後の日付を常に表示するときは どこを変えればいいのでしょうか? <TD>※明日は<script language="JavaScript"> <!-- // 訪問日表示 now = new Date(); year = now.getYear(); if (year < 2000) year = year + 1900; month = now.getMonth()+1; day = now.getDate(); wk = new Array("日","月","火","水","木","金","土"); document.write("有効期限:"+year+"年"+month+"月"+day+"日"); // --> </script>

  • javascript 自動日付更新

    宜しくお願いします。 サイトをアップした日付を、自動で更新したいです。 今までは、こちらのjavascriptを使っていたのですが、これですとブラウザ、クロムに対応していません。 文字化けしてしまいます。 <SCRIPT language="JavaScript"> <!-- renew = new Date(document.lastModified); y=renew.getYear(); m=renew.getMonth() + 1; d=renew.getDate(); if(y<1900) {y=y+1900;} document.write("最終更新日:"+y+"年"+m+"月"+d+"日"); //--> </SCRIPT> クロムでも動くjavascriptのコードはありませんか? 何卒、宜しくお願い致します。

  • JavaScriptでFIREFOXにも対応する西暦年月日を表示させたいです。

    JavaScriptで指定した年月日の年(西暦の「2009年」がFIREFOXだと「109年」という表記になってしまいます。 これを修正する方法をお教えいただければと思います。 よろしくお願いいたします。 (下記現在のプログラムです) heaer内 <SCRIPT LANGUAGE="JavaScript"> function DateString(oneDate) { month=oneDate.getMonth()+1 return oneDate.getYear() + "年 " + month + "月 " + oneDate.getDate() + "日 " } </SCRIPT> body内 <SCRIPT language="JavaScript"> document.write(DateString(new Date())) </SCRIPT>

  • 現在の日付から、1ヶ月前にするスクリプトです。

    現在の日付から、1ヶ月前にするスクリプトです。 月を「-1」すると0月になるので、「12」になるようにしたのですが、 年が「2005」のままです。同様に「2004」になるようなやりかたを教えてください。 <script language="JavaScript"> <!-- date = new Date(); mon = date.getMonth() + 0; if (mon < 1) { mon = "12"; } document.write(date.getFullYear() + "年" + mon + "月" + date.getDate() + "日"); // --> </script>

  • javascript 日付自動更新

    以前にもご質問させてもらったのですが、解決にいたらなかったので今一度ご質問させてもらいます。何卒、宜しくお願い致します。 javascriptでサイトをアップした日付を、"最終更新日:2009年12月12日"と自動で更新したいです。 今までは、こちらのjavascriptを使っていたのですが、これですとブラウザ、GoogleChromeに対応していません。 文字化けしてしまいます。 <SCRIPT language="JavaScript"> <!-- renew = new Date(document.lastModified); y=renew.getYear(); m=renew.getMonth() + 1; d=renew.getDate(); if(y<1900) {y=y+1900;} document.write("最終更新日:"+y+"年"+m+"月"+d+"日"); //--> </SCRIPT> こちらのコードですとGoogleChromeで動くのですが、 <script type="text/javascript" charset="utf-8"> <!-- var d = new Date(); if (d.toLocaleDateString) { document.write("最終更新日:" + d.toLocaleDateString(document.lastModified)); } else{ y=d.getYear(); m=d.getMonth() + 1; d=d.getDate(); if(y<1900) {y=y+1900;} document.write("最終更新日:"+y+"年"+m+"月"+d+"日"); } // --> </script> このように表示されてしまいます。 最終更新日:Saturday,December,12,2009 "最終更新日:2009年12月12日"この形で表示させたいです。 どなたかお力を貸して下さい。お願い致します。

  • 自動で最終更新日を表示する

    同じ内容の投稿を見たのですが、解決しなかったので、教えて下さい。 HPの最終更新日が、HPを開いた日付になってしまい、更新日を表示 しません。(ここ最近更新していないのに、最終更新日が今日の日付になっている。) Yahooのgeocitiesを使っており、CGIは使えないので、それ以外を教えて下さい。 よろしくお願いします。 <Body>に以下のように書いています。 <SCRIPT language="JavaScript"> upDate=new Date(document.lastModified); Month=upDate.getMonth()+1; Date=upDate.getDate(); Year=upDate.getYear(); document.write("最終更新日:" +Year +"年" +Month +"月" +Date +"日") </SCRIPT>

  • 現在時刻をボタンクリックで表示

    下記の現在時刻を表示させるスクリプトを書いたのですが、 これをボタン <INPUT type="button" value="時刻" onClick=""> を押したら表示という形にさせたいと思っています。 どうすればよいのでしょうか?お力をお貸しください、お願いします。 _______________________ <script language=javascript> <!-- function writedate(date){ var obj=new Date(date) var y=obj.getYear() if(y<2000){y+=(y<70?2000:1900)} var m=obj.getMonth()+1 var d=obj.getDate() document.write(y+" 年 "+m+" 月 "+d+" 日 ") } writedate(new Date()) //--> </script> _______________________

専門家に質問してみよう