• ベストアンサー

getYear(),gerMonth()についての質問(初心者)

今日の日付を表示するのに,年,月,日全て2桁表示したい場合はどうすれば, いいでしょうか?(たとえば,今日だと,「020115」となります。)

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

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.5

> 欲しい数字が,[+sj(new Date())の部分] > 0020020010016となってしまいます。 あれっ?だめですか? 私もxruzさんのスクリプトで試してみましたがうまくいきましたよ。 function n99(n) {... の行を写し間違えていないかもう一度確認してみてください。 ところで、No.3の補足のやつが動かなかったのは、最後の行が間違っていたからでしょう。 誤).../zzz/234567+"year+month+day".gif'>"); 正).../zzz/234567"+year+month+day+".gif'>");

syakure
質問者

お礼

色々頑張った結果,以下のプログラムに落ち着きました。 何で,xruzさんのでは,うまくいかないのか,解決してませんが・・・ IEのバージョンが,5.0と言うのが関係あるでしょうか? 色々と本当に,ありがとうございました。 これから,もっと精進します。:P <HTML><HEAD><TITLE></TITLE></HEAD> <BODY> <SCRIPT Language="JavaScript"> <!-- var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear() % 100; day = ((day < 10) ? "0" : "") + day; month = ((month < 10) ? "0" : "") + month; year = ((year < 10) ? "0" : "") + year; document.write("<IMG SRC='http://www.xxx.com/yyy/23456"+year+month+day+".gif'>"); //--> </SCRIPT></BODY></HTML>

その他の回答 (4)

  • xruz
  • ベストアンサー率50% (72/143)
回答No.4

No2のxruzです。こんな感じかな? <html> <head> <title></title> </head> <script language="JavaScript"> <!-- function n99(n) { return ("00"+n.toString()).slice(-2); } function sj(d) { return n99(d.getFullYear())+n99((d.getMonth()+1))+n99(d.getDate()); } //--> </script> <body> <script language="JavaScript"> <!-- document.write("<IMG SRC='http://www.xxx.com/yyy/zzz/234567"+sj(new Date())+".gif'>"); //--> </script> </body> </html> がんばってね(~:~i

syakure
質問者

補足

お返事ありがとうございます。 上記のプログラムに,より,エラーはなくなったのですが, 欲しい数字が,[+sj(new Date())の部分] 0020020010016となってしまいます。本当は,020116(2002年1月16日)が,欲しいです。 どこを修正すればいいでしょうか? 度々の質問すいません。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.3

No.1のUKYです。すこし補足いたします。 getYear()は、1900年を基準にして値を返します。 例) 1996→96  2002→102 これだとちょっと使いづらいので、年号を数字をそのまま返す getFullYear()を使ったほうが便利です。 例) 1996→1996  2002→2002 あと、getMonth()は実際の数字より値が1つ小さくなっているので、 注意が必要。 例) 1月→0   5月→4 分からなければさらに補足します。 (あなたがどの程度の初心者なのかわからないので…)

syakure
質問者

補足

解説ありがとうございます。 補足させていただきます。 今,自分がやりたいことは毎日更新されるページをデスクトップに表示させようとしてます(アクティブデスクトップの設定で)。そこで,現在作成中のソースを下に示します。どこが悪いのか,今ひとつ分かりません。もしよろしかったら教えてください。 ちなみに,document.write,,,,,,の行はどこからかもってきたものなので,理解はしてません。 あと,URLのところの,234567と言う数字は毎日の変更はありません。 下6桁が毎日変更され,それが日付と対応してるのです。 では,よろしくお願いします。 <html> <head> <title></title> </head> <script language="JavaScript"> <!-- var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear() % 100; day = ((day < 10) ? "0" : "") + day; month = ((month < 10) ? "0" : "") + month; year = ((year < 10) ? "0" : "") + year; document.write("<IMG SRC='http://www.xxx.com/yyy/zzz/234567+"year+month+day".gif'>"); //--> </script> </html>

  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

こんにちはsyakureさん、xruzです。 こんなんでもいいですよ。 <html> <head> <title></title> </head> <script language="JavaScript"> <!-- function n99(n) { return ("00"+n.toString()).slice(-2); } function sj(d) { document.f.t.value=n99(d.getFullYear())+n99((d.getMonth()+1))+n99(d.getDate()); } //--> </script> <body onLoad="sj(new Date())"> <form name="f"> <input type="text" name="t"> </form> </body> </html> がんばってくださいね(~:~i

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.1

こんな感じでどうでしょう? var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear() % 100; day = ((day < 10) ? "0" : "") + day; month = ((month < 10) ? "0" : "") + month; year = ((year < 10) ? "0" : "") + year; document.write(year + month + day);

関連するQ&A