一定期間だけ文字や画像を表示(更新用)
<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 で割って取得します。

[PR] ホットペッパー