JavaScriptで日付を扱う方法:Dateオブジェクトとタイムスタンプの使い方
B
BlissByte
time unit
timestamp
date tool
2025-09-17

JavaScript Dateオブジェクトの実践的使い方
Dateオブジェクトの基本初期化
JavaScriptで日付を扱う基本的な方法はDateオブジェクトを使います。以下の5つの初期化パターンがあります:
// 1. 現在日時を取得
const now = new Date();
// 2. タイムスタンプから生成
const timestamp = 1625097600000;
const dateFromTimestamp = new Date(timestamp);
// 3. 日付文字列から生成(注意: ブラウザ依存あり)
const dateFromString = new Date('2023-07-15');
// 4. 年、月、日を指定(月は0-11)
const specificDate = new Date(2023, 6, 15);
// 5. 複数パラメータで詳細指定
const detailedDate = new Date(2023, 6, 15, 13, 30, 0);
日付フォーマットの変換
yyyy/mm/dd形式など、よく使われるフォーマットに変換する方法:
function formatDate(date) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}/${month}/${day}`;
}
// 使用例: "2023/07/15"
console.log(formatDate(new Date()));
タイムゾーン処理
日本時間(JST)を扱う際の注意点:
// UTCからJSTへ変換(+9時間)
const utcDate = new Date('2023-07-15T00:00:00Z');
const jstDate = new Date(utcDate.getTime() + 9 * 60 * 60 * 1000);
// JSTからUTCへ変換
const jstToUtc = new Date(jstDate.getTime() - 9 * 60 * 60 * 1000);
日付計算の実例
日付の加算・減算や差分計算:
// 7日後を計算
const today = new Date();
const nextWeek = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000);
// 2つの日付の差分(日数)
function getDayDiff(date1, date2) {
const diff = Math.abs(date1 - date2);
return Math.floor(diff / (1000 * 60 * 60 * 24));
}
よく使うDateメソッド一覧
| メソッド | 説明 | 例 |
|---|---|---|
| getFullYear() | 年を取得 | 2023 |
| getMonth() | 月を取得(0-11) | 6 (7月) |
| getDate() | 日を取得 | 15 |
| getDay() | 曜日を取得(0-6) | 6 (土曜日) |
| getHours() | 時を取得 | 13 |
| getTime() | タイムスタンプ取得 | 1625097600000 |
| toISOString() | ISO形式で出力 | "2023-07-15T04:00:00.000Z" |
うるう年判定
うるう年を判定する関数:
function isLeapYear(year) {
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}
月末日取得
指定した月の最終日を取得:
function getLastDayOfMonth(year, month) {
return new Date(year, month + 1, 0).getDate();
}



