<script type="text/javascript"> <!-- var period = 3; // 表示させる日数 var expires = 60 * 60 * 24 * period; var today = Math.round(new Date().getTime() / 1000); var upday = Math.round(new Date(document.lastModified).getTime() / 1000); var diff = today - upday; if (diff <= expires) { document.write("Update!!"); // 表示期間中の処理 } // --> </script>
getTime() から求められる値は秒数です。現在の時間は new Date() として、更新日の取得には new Date(document.lastModified) として取得をします。ここで取得する数値の下1〜3桁目はミリ秒なので秒数を取得できるように 1000 で割り、それを Math.round() で小数点を四捨五入して取得します。
そして、現在の時間(変数 today)から更新したときの時間(変数 upday)を引いた差時間が、更新してから経過した秒数(変数 diff)になります。
1日は86400秒(60秒 * 60分 * 24時間)なので、表示日数を掛け合わせた変数 expires と変数 diff を比較して、指定日数以内ならば任意の文字や画像を表示します。
変数 period には、更新してから表示したい期間の日数を指定してください。12時間のような時間単位の場合は 0.5 としてください。そして、この期間内のみ表示する処理内容を if (diff <= expires) {...} のブラケット内に記述してください。
この例では、最後に更新してから3日間だけ「Update!!」という文字を表示します。
var today = new Date().getTime(); var upday = new Date(document.lastModified).getTime(); var diff = Math.round((today - upday) / 1000);
あらかじめ取得した数値を差し引いてから 1000 で割って取得します。