• ベストアンサー

数日前等の日付を表示したいのです。

HP(個人使用のサンプル的なもの)を作っているのですが、トップにニュース記事を載せたいのです。 これは、更新はしないつもりですが、HPを見た人があたかも更新したかのように思えるように、数日前の日付や数ヶ月前の日付などを表示させたいのです。 例えば、今日が2008年10月18日ですので ○○を更新(2008.10.12) ○○に○○を追加(2008.10.04) ○○を削除(2008.09.28) ↑のように日付を入れたいのです。 何か良い方法はありますでしょうか? お願いします。

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

  • ベストアンサー
noname#137826
noname#137826
回答No.1

今日から数えて任意の日数だけ前の日の日付を取得したい、ということでしょうか。 こんな感じですか? --- <html> <head> <script type="text/javascript"> window.onload = function(){ document.getElementById('update').innerHTML = nDaysAgo(6); // 6日前 document.getElementById('add').innerHTML = nDaysAgo(14); // 14日前 document.getElementById('remove').innerHTML = nDaysAgo(20); // 20日前 } function nDaysAgo(n) { var d = new Date(new Date() - 1000 * 60 * 60 * 24 * n); return [d.getFullYear(), d.getMonth() + 1, d.getDate()].join('.'); } </script> </head> <body> <ul> <li>○○を更新 (<span id="update"></span>)</li> <li>○○に○○を追加 (<span id="add"></span>)</li> <li>○○を削除 (<span id="remove"></span>)</li> </ul> </body> </html>

cococomail2
質問者

お礼

ありがとうございます。 とってもいい感じに出来ました。 本当に助かります。 また、わからない事があったらお願いします^^

その他の回答 (2)

  • kura07
  • ベストアンサー率50% (30/59)
回答No.3

kaorineさんに習って、修正版です^^; 簡略化しました。 これを<head>~</head>内に記述 <script type="text/javascript"> function pastDate(pDay){ var n = new Date(new Date() - 1000 * 60 * 60 * 24 * pDay); document.write(n.getFullYear() + "." + n.getMonth() + "." + n.getDate()); } </script> 日付を出力したい場所にこれを入力(複数設置可能) <BODY> <script type="text/javascript">pastDate(1)</script> </BODY> pastDate(***)…***には戻したい分だけの日付を正の値で入力してください^^

cococomail2
質問者

補足

なるほど こういうやり方もあるのですね。 とても参考になりました。 ありがとうございます。

  • kura07
  • ベストアンサー率50% (30/59)
回答No.2

これを<head>~</head>内に記述 <script type="text/javascript"> function pastDate(pDay){ var nowdate = new Date(); var year = nowdate.getFullYear(); var mon = nowdate.getMonth(); var date = nowdate.getDate(); var myDate = new Date(year,mon,date+pDay); var myYear = myDate.getFullYear(); // 年 var myMon = myDate.getMonth() + 1; // 月 var myDate = myDate.getDate(); // 日 document.write(myYear + "." + myMon + "." + myDate); } </script> 日付を出力したい場所にこれを入力 <script type="text/javascript">pastDate(-1)</script> pastDate(***)…***には戻したい分だけの日付を負の値で入力してください^^

関連するQ&A