おはようございます。武田です。
2020年に東京五輪が開催されるそうです。(個人的には興味はありません。それより福島原発の放射能漏れの方に興味があります)
JavaScriptでオリンピックのカウントダウンをしてみました。
JavaScriptでは、日付同士を引き算できます。
ただし結果は、ミリ秒単位なので日数になおすための処理が必要です。
// 今日の日から目的の日までの日数を計算する
var nissu = Math.ceil((Date.parse(nengappi) – today.getTime()) / (24*60*60*1000)) ;
1日は24時間。
1時間は60分。
1分は60秒。
1秒は1000ミリ秒。
ということで、これらを掛け合わせた数で割り算しています。
当学院のHP上でもこれを使って行事日数などをカウントダウンして表示しています。
関数化してこんな感じになっています。
/* mylib.js */
/* --------------------------------------------------------------------------------------------------
calcDays: ~までの日数表示
使い方: HTML内の表示したい場所に記述します
例)2020年7月24日の東京オリンピックの開催日まであと何日か表示したい場合
<p>
<script>calcDays(2020, 7, 24, "東京オリンピック開催");</script>
</p>
-------------------------------------------------------------------------------------------------- */
function calcDays( year, month, day, string ) {
var nengappi = year + "/" + month + "/" + day ;
var today = new Date() ;
// 今日の日から目的の日までの日数を計算する
var nissu = Math.ceil((Date.parse(nengappi) - today.getTime()) / (24*60*60*1000)) ;
// 以下のdocument.write文は必要に応じてメッセージ文を変えてみて下さい
if ( nissu == 0 ) { // 当日の表示
document.write ( "今日は、" + string + "です" ) ;
}
else if ( nissu < 0 ) { // 目的の日を過ぎた場合の表示
nissu = nissu * (-1) ;
document.write ( string + "から" + nissu + "日経過" ) ;
}
else { // 目的の日まであと~日の表示
document.write ( string + "まで、あと" + nissu + "日" ) ;
}
}
小学校時代に習った算数って大事ですね。