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 系)
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)で刻み、見せる時はローカルで整える」