JavaScriptの日付オブジェクトに数値を指定する場合の注意

JavaScriptでは「new Date」を使って日付オブジェクトを生成します。
まず、引数に年月日を指定します。
ここでは1970年1月1日を表します。なお月については1月が「0」になります。

date_obj = new Date(1970, 0, 1);

表示すると次のようになります。時分秒を省略すると「0時0分0秒」になります。

Thu Jan 1 00:00:00 UTC+0900 1970

引数に数値を指定することもできます。数値は標準時からの経過ミリ秒です。
ここでは「0」を指定します。

date_obj = new Date(0);

表示すると次のようになります。

Thu Jan 1 09:00:00 UTC+0900 1970

注意したいのは「9時」を示している点です。
つまり日付オブジェクトの引数に数値「0」を指定すると標準時の「1970年1月1日0時」になります。
これは日本時間の「1970年1月1日9時」です。
表示する際は日本時間で表示されるので上のようになります。

もし日本時間で指定したいならば次のように「getTimezoneOffset」を使います。標準時との時差を分で表わします。日本ならば「-540」になります。具体的には次のように使います。

date_obj = new Date();
dif_minute = date_obj.getTimezoneOffset();
date_obj = new Date(0 + dif_minute * 60 * 1000);

表示すると次のようになります。

Thu Jan 1 00:00:00 UTC+0900 1970

コメント

タイトルとURLをコピーしました