【JavaScript】Dateオブジェクト - 日時を表現するオブジェクト

【JavaScript】Dateオブジェクト - 日時を表現するオブジェクト

JavaScriptのDateオブジェクトについて解説します。

検証環境

Dateオブジェクト

Dateオブジェクトは“日時を表現するオブジェクト”です。

現在日時や年、月、日のみを取得することができます。

生成

DateオブジェクトはDateクラスから生成します。

基本構文

new Date("日時")

実引数を与えない場合は実行時の日時で生成します。

サンプル

___ih_hl_start
let date1 = new Date();
___ih_hl_end

console.log(date1);

___ih_hl_start
let date2 = new Date("2024/01/23 12:34:56");
___ih_hl_end

console.log(date2);
Sun Feb 04 2024 01:47:46 GMT+0900 (日本標準時)
Tue Jan 23 2024 12:34:56 GMT+0900 (日本標準時)

日時の文字列変換(toString)

toStringメソッドは日時を文字列に変換して取得します。

let date = new Date();

___ih_hl_start
let str = date.toString();
___ih_hl_end

console.log(typeof(str));
console.log(str);
string
Sun Feb 04 2024 01:49:42 GMT+0900 (日本標準時)

ロケール形式文字列の取得(toLocaleString)

toLocaleStringメソッドは日時を実引数で与えたロケール形式の文字列で取得します。

let date = new Date();

___ih_hl_start
let locale_default = date.toLocaleString();
___ih_hl_end
console.log(locale_default);

___ih_hl_start
let locale_ja = date.toLocaleString("ja-JP");
___ih_hl_end
console.log(locale_ja);

___ih_hl_start
let locale_en = date.toLocaleString("en-US");
___ih_hl_end
console.log(locale_en);
2024/2/4 1:54:09
2024/2/4 1:54:09
2/4/2024, 1:54:09 AM

日時要素取得(getX)

日時要素(年、月、日、曜日、時、分、秒、ミリ秒)を取得できます。

let date = new Date();

// 年
console.log(date.getFullYear());
// 月
console.log(date.getMonth());
// 日
console.log(date.getDate());
// 曜日
console.log(date.getDay());
// 時
console.log(date.getHours());
// 分
console.log(date.getMinutes());
// 秒
console.log(date.getSeconds());
// ミリ秒
console.log(date.getMilliseconds());
2024
1
4
0
1
57
29
875

月と曜日の値は直感的な値とは異なるため注意が必要です。

月は0から11の数値で、1月は0、7月は6というように1引いた数値になります。

また、曜日は0から6の数値です。

0は日曜日に対応しており、月火水木金土と続きます。

日時要素設定(setX)

日時要素(年、月、日、時、分、秒、ミリ秒)を設定できます。

let date = new Date();

console.log(date.toLocaleString());

date.setFullYear(2024);
date.setMonth(0);
date.setDate(23);
date.setHours(12);
date.setMinutes(34);
date.setSeconds(56);
date.setMilliseconds(789);

console.log(date.toLocaleString());
2024/2/4 2:05:14
2024/1/23 12:34:56

日時要素の取得と同様に月は直感的な値とは異なります。

月は0(1月)から11(12月)の数値で設定します。