JavaScript 世界協定時の時刻を設定する

最終更新日

JavaScriptでは、生成した「Date」オブジェクトに用意されたメソッドを使うことで世界協定時の時刻を生成することができます。世界協定時の時刻を設定できるメソッドは、次のとおりです。

メソッド説明
setUTCHours()
setUTCMinutes()
setUTCSeconds()
setUTCMilliseconds()ミリ秒

パラメータは、範囲を超えてた場合でもエラーにはなりません。たとえば、「setUTCMinutes(90)」とすると、Dateオブジェクトで示される時刻に90分加算されます。これは他のメソッドでも同じです。正数だけでなく負数も指定可能です。setUTCSeconds(-100)だと100秒前に設定されます。日本と世界標準時には時差があります。この時差を求めるには、「getTimezoneOffset()」メソッドを使います。これは時差を分で返します。日本の場合は「-540」となります。「60」で除算すれば時差-9時間を求めることができます。

 <body>
<script>
    window.addEventListener("load" , function(){
        var ele = document.getElementsByTagName("output")[0];
        //現在の日時を示すDateオブジェクトを生成
        var currentDate = new Date();

        //12時3分45.678秒設定
        currentDate.setUTCHours(12);
        currentDate.setUTCMinutes(3);
        currentDate.setUTCSeconds(45);
        currentDate.setUTCMilliseconds(678);

        //タイムゾーンを読みだし
        var timezone = currentDate.getTimezoneOffset();

        ele.innerHTML = currentDate + "<br>"
        ele.innerHTML += "時差" + timezone/60+"時間"; 

    }, false);
</script>
    <output></output>
</body>

設定した協定世界時の時刻と時差が表示されます。なお、Dateオブジェクトを文字列に変換して表示した場合、ブラウザによって結果が異なります。

実行結果
実行結果