【javascript】チートシート【日付編】

スポンサーリンク

※このページにはプロモーションが含まれています。当サイトは各種アフィリエイトプログラムから一定の収益を得ています。

現在日時

let date1 = new Date();
console.log(date1); // Mon Aug 01 2022 17:19:19 GMT+0900 (日本標準時)

年月日時分秒曜日の取得

// 年月日時分秒曜日の取得
let date = new Date(2022, 6, 30, 12, 34, 56, 555);

console.log(date.getFullYear()); // 2022
// 0~11で1月~12月を表す
console.log(date.getMonth()); // 6(7月)
console.log(date.getDate()); // 30
// 0~6で日~土を表す
console.log(date.getDay()); // 6(土曜日)

console.log(date.getHours()); // 12
console.log(date.getMinutes()); // 34
console.log(date.getSeconds()); // 56

加算・減算

// 加算・減算
let date = new Date(2022, 6, 30, 12, 34, 56, 555);
console.log(date.toLocaleString()); // 2022/7/30 12:34:56

date.setMonth(date.getMonth() + 2);
console.log(date.toLocaleString()); // 2022/9/30 12:34:56

date.setDate(date.getDate() - 30);
console.log(date.toLocaleString()); // 2022/8/31 12:34:56

時刻の差

// 時刻の差
let date1 = new Date(2022, 6, 1);
let date2 = new Date(2022, 6, 30);

// 時刻差を分で
let diff1 = (date2.getTime() - date1.getTime()) / (1000 * 60);
// 時間の差を時間で
let diff2 = (date2.getTime() - date1.getTime()) / (1000 * 60 * 60);
// 時間の差を日数で
let diff3 = (date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24);

console.log(diff1); // 41760
console.log(diff2); // 696
console.log(diff3); // 29

月初日・月末日

let date = new Date(2022, 0, 15);
console.log(date);

// 月初日
let monthStartDay = new Date(date.getTime());
monthStartDay.setDate(1);
console.log(monthStartDay.toLocaleString()); // 2022/1/1 0:00:00

// 月末日
let monthLastDay = new Date(date.getTime());
monthLastDay.setMonth(monthLastDay.getMonth());
monthLastDay.setDate(0);
console.log(monthLastDay.toLocaleString()); // 2021/12/31 0:00:00

比較

// 比較
let date1 = new Date(2022, 6, 15);
let date2 = new Date(2022, 6, 16);
let date3 = new Date(2022, 6, 15);
console.log(date1 < date2); // true
console.log(date1 > date2); // false

// 等価演算子は単純な比較ができない
console.log(date1 == date3); // false
console.log(date1 === date3); // false

// 項目を指定して比較する
console.log(date1.getTime() == date3.getTime()); // true
console.log(date1.getTime() === date3.getTime()); // true
console.log(date1.getFullYear() == date3.getFullYear()); // true
console.log(date1.getFullYear() === date3.getFullYear()); // true

YYYY/MM/DDの形式にする

function date_yyyymmdd(date = new Date()) {

    // YYYY/MM/DDの形式にする
    let yyyy = date.getFullYear();
    let mm = (date.getMonth() + 1).toString().padStart(2,'0');
    let dd = date.getDate().toString().padStart(2,'0');

    let slash = '/'
    let yyyymmdd = yyyy + slash + mm + slash + dd;
    
    console.log(yyyymmdd); // 2022/08/01

    return yyyymmdd
}

スポンサーリンク