JavaScript | 第8章「日付と時刻の表現」

javascrpit JavaScript
スポンサーリンク

JavaScript「日付と時刻の表現」要点まとめ

1. 基本は Date オブジェクト

  • JavaScript では「日付や時刻」を扱うために Date オブジェクト を使う。
  • 内部的には 1970年1月1日 00:00:00 UTC からの「経過ミリ秒」を保持。
  • Date は「ローカル時刻」と「UTC(世界標準時)」の両方を扱える。

2. Date の作り方(生成方法)

説明
new Date()現在の日時
new Date(ミリ秒)1970/1/1 UTC からの経過ミリ秒
new Date("2025-10-13T15:30:00")文字列から生成(ISO形式推奨)
new Date(2025, 9, 13, 15, 30)年・月・日・時・分などを指定(※月は0始まり)

⚠️ 月は「0 = 1月」「11 = 12月」。

3. 日付・時刻の取り出し(get 系)

メソッド内容
getFullYear()2025
getMonth()月(0〜11)9 → 10月
getDate()日(1〜31)13
getDay()曜日(0〜6)0=日曜
getHours()時(0〜23)15
getMinutes() / getSeconds()分・秒
getTime()タイムスタンプ(ミリ秒)1739398800000

getUTC~() 系を使えば UTC 基準の値も取得できる。

4. 日付・時刻の変更(set 系)

メソッド内容
setFullYear(2026)年を変更
setMonth(11)月を12月に変更
setDate(getDate() + 1)翌日にする
setTime(タイムスタンプ)指定時間に変更

範囲外の値を渡すと自動で繰り上がり/繰り下がり(例:setDate(32) → 翌月1日)。

5. 表示形式(文字列変換)

メソッド出力例説明
toString()“Mon Oct 13 2025 15:30:00 GMT+0900”標準形式
toISOString()“2025-10-13T06:30:00.000Z”UTC(ISO 8601形式)
toLocaleString()“2025/10/13 15:30:00”ローカル形式(地域に依存)

6. タイムゾーンとUTC

  • Date は内部的には UTC で管理。
  • 表示や取得時に自動で「ローカル時刻」に変換される。
  • 現在の環境との時差(分単位)は getTimezoneOffset() で取得できる。

7. 文字列から日付を作る

  • new Date("2025-10-13T15:30:00")
  • または Date.parse("2025-10-13T15:30:00") でタイムスタンプ取得。
  • Date.UTC(2025, 9, 13) は UTC 時間としてのタイムスタンプ。

8. 注意点

  • Date は扱いづらく、タイムゾーンや夏時間に関するバグが出やすい。
  • より正確な時間処理には、将来的に Temporal API の利用が推奨されている。

9. 例:基本的な使い方

const now = new Date();
console.log(now.toLocaleString()); // ローカルの現在時刻
console.log(now.toISOString());    // UTCでの現在時刻

const future = new Date(now.getTime() + 3 * 24 * 60 * 60 * 1000);
console.log(future.toLocaleString()); // 3日後

const birthday = new Date(1990, 5, 1);
birthday.setFullYear(2025);
console.log(birthday.toDateString()); // "Sun Jun 01 2025"
JavaScript

まとめ一句

Date は世界標準(UTC)で刻み、見せる時はローカルで整える」

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