【JavaScript】日時取得と日時計算について

javascript Javascript

Date

JavaScriptで日時を取得とプロジェクトのなかで使用するには適切な表記ルールに返還などが必要とおもいます。unixのタイムは1970年1月1日からの秒の差で日時を計算しますがJavaScriptではミリ秒段位まで持ちます。

現在時刻の取得

Dateオブジェクト

Dateオブジェクトから取得

const dateObject = new Date();

生成したDateオブジェクトから時刻を表示

console.log(dateObject.toString());

// 結果
Wed Jan 24 2024 20:28:48 GMT+0900 (日本標準時)

コンスタント値で取得(ミリ秒)

ミリ秒の値から差を取得

const nowDateTime = Date.now();

ミリ秒の値から日時を取得

const now = new Date(nowDateTime);
console.log(now.toString());

// 結果
Wed Jan 24 2024 20:58:48 GMT+0900 (日本標準時)

日時の計算(翌日、1時間前など)

前提

現在の日時はミリ秒「1676017123456」、つまり「Fri Feb 10 2023 17:18:43 GMT+0900 (日本標準時)」から計算すること。

const dateTime = new Date(1676017123456);
console.log(dateTime.toString());

// 結果
Fri Feb 10 2023 17:18:43 GMT+0900 (日本標準時)

10分後、10分前

const dateTime = new Date(1676017123456);
dateTime.setMinutes(dateTime.getMinutes() + 10);
console.log('10分先 : ', dateTime.toString());
dateTime.setMinutes(dateTime.getMinutes() - 20);
console.log('10分前 : ', dateTime.toString());

// 結果
10分先 : Fri Feb 10 2023 17:28:43 GMT+0900 (日本標準時)
10分前 : Fri Feb 10 2023 17:08:43 GMT+0900 (日本標準時)

1時間後、1時間前

const dateTime = new Date(1676017123456);
dateTime.setHours(dateTime.getHours() + 1);
console.log('1時間先 : ', dateTime.toString());
dateTime.setHours(dateTime.getHours() - 2);
console.log('1時間前 : ', dateTime.toString());

// 結果
1時間先 : Fri Feb 10 2023 18:18:43 GMT+0900 (日本標準時)
1時間前 : Fri Feb 10 2023 16:18:43 GMT+0900 (日本標準時)

翌日、前日

const dateTime = new Date(1676017123456);
dateTime.setDate(dateTime.getDate() + 1);
console.log('翌日 : ', dateTime.toString());
dateTime.setDate(dateTime.getDate() - 2);
console.log('昨日 : ', dateTime.toString());

// 結果
翌日 : Sat Feb 11 2023 17:18:43 GMT+0900 (日本標準時)
昨日 : Thu Feb 09 2023 17:18:43 GMT+0900 (日本標準時)

翌月、前月

const dateTime = new Date(1676017123456);
dateTime.setMonth(dateTime.getMonth() + 1);
console.log('翌月 : ', dateTime.toString());
dateTime.setMonth(dateTime.getMonth() - 2);
console.log('先月 : ', dateTime.toString());

// 結果
翌月 : Fri Mar 10 2023 17:18:43 GMT+0900 (日本標準時)
先月 : Tue Jan 10 2023 17:18:43 GMT+0900 (日本標準時)

来年、一昨年

const dateTime = new Date(1676017123456);
dateTime.setYear(1900 + dateTime.getYear() + 1);
console.log('来年 : ', dateTime.toString());
dateTime.setYear(1900 + dateTime.getYear() - 2);
console.log('一昨年 : ', dateTime.toString());
console.log(dateTime.getYear());

// 結果
Fri Feb 10 2023 17:18:43 GMT+0900 (日本標準時)
翌年 : Sat Feb 10 2024 17:18:43 GMT+0900 (日本標準時)
一昨年 : Thu Feb 10 2022 17:18:43 GMT+0900 (日本標準時)
タイトルとURLをコピーしました