Categories: JavaScript

【JavaScript入門】日付や時刻データを操作するDateオブジェクト

よく使うメソッド

メソッド 説明
getMonth() 月を0~11で返す。0が1月で11が12月を表す。
getDate() 日を1~31で返す。
getDay() 曜日を0~6で返す。0が日曜日で6が土曜日を表す。

Dateオブジェクトの生成方法

js

//生成された時点のシステム日付をセットする。
let date1 = new Date();
console.log(date1);

//任意の日付文字列を基にDateオブジェクトを生成。
let date2 = new Date('2020/09/05 01:05:09');
console.log(date2);

//年月日時分秒ミリ秒をカンマ区切りで指定。月は0-11で指定する。
let date3 = new Date(2020,0,1,1,1,1,100);
console.log(date3);

//タイムスタンプでDateオブジェクトを生成。
let milli = new Date().getTime();
let date4 = new Date(milli);
console.log(date4);

実行結果

2021-01-24T08:12:14.382Z
2020-09-04T16:05:09.000Z
2019-12-31T16:01:01.100Z
2021-01-24T08:12:14.458Z

日本時間に変換する方法

js

let options = {
    year: 'numeric', month: '2-digit', day: '2-digit',
    hour: 'numeric', minute: 'numeric', second: 'numeric',
    hour12: false,
    era:'long',
    timeZone: 'Asia/Tokyo' 
  };

const date = new Date();

let result = new Intl.DateTimeFormat('ja-JP',options).format(date);
console.log(result);//2020-09-05 19:54:01 

日本時間に変換する方法②

以下の4種類の初期化方法(コンストラクタ)があります。

js

const options = {
    year: 'numeric', month: '2-digit', day: '2-digit',
    hour: 'numeric', minute: 'numeric', second: 'numeric',
    hour12: false,
    timeZone: 'Asia/Tokyo'
};

const date = new Date();
const dtf = new Intl.DateTimeFormat('ja-JP', options);
const [{ value: year }
    ,, { value: month }
    ,, { value: day }
    ,, { value: hour }
    ,, { value: minute }
    ,, { value: second }
] = dtf.formatToParts(date);

console.log(`${year}-${month}-${day} ${hour}:${minute}:${second}`);//2020-09-05 20:11:24:703 

日本時間に変換する方法③

js

const options = {
    year: 'numeric', month: '2-digit', day: '2-digit',
    hour: 'numeric', minute: 'numeric', second: 'numeric',
    hour12: false,
    timeZone: 'Asia/Tokyo'
};

const date = new Date();
const dtf = new Intl.DateTimeFormat('ja-JP', options);

let aaa = dtf.format(date);
console.log(aaa.replace(/ /g,'-'));//2020-09-05-20:55:38

日本時間に変換する方法④

js

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() +1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
const milli = date.getMilliseconds();
console.log(`${year}-${month}-${day} ${hour}:${minute}:${second}:${milli}`);//2020-09-05 20:11:24:703 //2021-1-24 19:4:50:646

console.log(date);//2021-01-24T10:04:50.646Z

日付の差を求める

日付間のミリ秒を取得し、それを日付に変換します。

js

let date1 = new Date(2020,8,5);
let date2 = new Date(2020,9,5);
let sa = (date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24);
console.log(date1);//2020-09-04T15:00:00.000Z
console.log(date2);//2020-10-04T15:00:00.000Z
console.log(sa);//30

以上で記事の解説はお終い!

HTML、CSS、JavaScriptをもっと勉強したい方にはUdemyがオススメ!同僚に差をつけよう!

issiki_wp