purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

javaScriptで指定の時間以前、以後で処理を変える

年末年始対応などで、一時的に予約で表示、非表示などをしたい場合用に

コード例

html部分

<style type="text/css">
<!--
    #hoge.hide {
        display: none;
    }
-->
</style>
<div id="hoge" class="hide">
    テキストや画像など
</div>

js部分

<script>
    var hiduke= new Date();
    var year = hiduke.getFullYear();
    var month = hiduke.getMonth()+1;
    var week = hiduke.getDay();
    var day = hiduke.getDate();

    var hour = hiduke.getHours();
    var minute = hiduke.getMinutes();
    var second = hiduke.getSeconds();

    var now = parseInt(year +""+ ("0"+month).slice(-2) +""+ ("0"+day).slice(-2) +""+ + ("0"+hour).slice(-2));

    if(2016123012 <= now){
        // 今が2016年12月30日12時以降の場合処理を行う
    }
</script>

注意点

ゼロパディングしておかないと1月とか2日とか3時とか一桁数字の時の罠が・・・ということで以下の部分は必須です。

("0"+month).slice(-2)

参照

今日の日付と現在時刻-JavaScript入門

JavaScriptでゼロパディングして桁をそろえる方法