LoginSignup
1
0

More than 3 years have passed since last update.

UTC ベースで時間データを扱う: JavaScript 版 (IoTプログラミング)

Last updated at Posted at 2020-11-25

「UTC ベースで時間データを扱う(IoTプログラミング)」
https://qiita.com/nanbuwks/items/e3714f6b0b6b0b8585f4

では C で UTC を扱う記事を書きました。

今回は JavaScript でUTCを扱う方法です。

UNIX 時間 → Date オブジェクト

UNIX時間 1606323269 ( UTC 2020年11月25日 16:54:29 ) を worktime に格納しているとします。

これを JavaScript の Date スクリプトにして、更に文字列形式に変換し出力するには以下のようにします。

      worktime=1606323269;
      datetime = new Date(worktime*1000);
      stringline=(datetime.toLocaleString());
      document.write(stringline);

Dataオブジェクト内部には1970年1月1日からの時間が UTC ベースで格納されています。
UNIX 時間も1970年1月1日からの UTC ベースのカウントですが、UNIX 時間は秒単位なのに対し Date オブジェクトはミリ秒単位なので 1000 倍します。

これの出力は


2020/11/26 1:54:29

となります。日本の Timezone になって出てきましたね。

UTCとする場合には


      stringline=(datetime.toUTCString());

とし、出力は


Wed, 25 Nov 2020 16:54:29 GMT

となります。

しかしこの形式は日本でよく使われる YYYY/MM/DD hh: mm:ss 形式ではないですし、数値で月を表示して IoT で処理しやすくしたい場合もあります。

UTC でなおかつ日本形式にしたい場合は先の toLocaleString を使い、


      stringline=(datetime.toLocaleString('ja-JP', { timeZone: 'UTC' }));

とすると


2020/11/25 16:54:29

が取得できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0