🙌

Date.toISOString は常にUTCの時刻を返す

2025/01/22に公開

まとめ

実行環境が JST(日本標準時、UTC+9)の場合でも、toISOString の出力は 常に UTC の時刻として表示されます。これは、toISOString が実行環境のタイムゾーンに影響を受けず、UTC の形式で日時を表すからです。なの、実行環境は出力結果に影響しません。

サンプルコード

const date = new Date("2025-01-01T00:00:00+09:00");
console.log(date.toISOString()); // UTC 時刻で表示
// 出力結果: 2024-12-31T15:00:00.000Z

解説

  1. 入力された日時は 2025-01-01T00:00:00+09:00(JST)。
  2. JavaScript はこの日時を UTC に変換して内部で管理します。
  3. toISOString はその UTC 表現を文字列で返します。

ポイント

  1. toISOString の結果は常に UTC の文字列表現(末尾に Z が付く)です。
  2. 実行環境が JST(UTC+9)であっても、この動作に影響はありません。

参考文献

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString

Discussion