JS 日付のフォーマット Dateオブジェクトの使い方一覧

JS Dateオブジェクトを理解しよう Java Script
スポンサーリンク

今回は「Dateオブジェクト」についてご紹介させて頂きます。

「Date」という名前のとおり、年、日、時間等を取得するメソッドが中心になります。

最近はライブラリを使用することが一般的になってきていますので、使用頻度は少ないかもしれませんが、一通り読めるようにしておきましょう。

スポンサーリンク

Date オブジェクト

Dateオブジェクトは、ECMAScriptで定義されたビルトインオブジェクトになります。

コンストラクタを使用しインスタンスを作成することで、特定の日時を表す事が出来ます。

式はnew演算子を伴います。

new Date()

Date オブジェクトの基準となる時刻は、「1970年1月1日0時0分0秒」になっていて、ミリ秒で保管されています。

現在時刻のインスタンスを作成する

let time = new Date();

console.log(time);

 Thu Apr 21 2022 13:11:19 GMT+0900 (日本標準時)

引数に何も指定しなければ、現在時刻を返します。

new演算子を使わずに、「Date()」のみ記述しても現在時刻を返します。

ただし、その際は引数に何かを指定してもすべて無視されます。

色々な使い方

ミリ秒で指定する

let time = new Date(2000);

console.log(time);

 Thu Jan 01 1970 09:00:02 GMT+0900 (日本標準時)

2000ミリ秒(2秒)を引数に指定しています。

返される時刻は、基準時刻から2秒経過した日時が表示されています。

なお、タイムゾーンを指定していないので、日本標準時に合わせて表示されているため、9時間が経過した時間が返されています。

年・月・日・時・分・秒・ミリ秒を指定する

let time = new Date(2022,05,01,10,10,10,1010);

console.log(time);

 Wed Jun 01 2022 10:10:11 GMT+0900 (日本標準時)

年と月は必ず指定する必要があります。

月に関しては「0 = 1月」となっていますので、注意してください。

toString()

let time = new Date();
console.log(time.toString());

 Thu Apr 21 2022 13:52:50 GMT+0900 (日本標準時)

「toString()」メソッドを使うと、ローカルのタイムゾーンが返されます。

toDateString()

let time = new Date();
console.log(time.toDateString());

 Thu Apr 21 2022

「toDateString()」メソッドを使うと、日付の情報が返されます。

(年と曜日も返されます)

toTimeString()

let time = new Date();
console.log(time.toTimeString());

 14:00:53 GMT+0900 (日本標準時)

「toTimeString()」メソッドを使うと、時刻に関する情報が返されます。

toUTCString()

let time = new Date();
console.log(time.toUTCString());

 Thu, 21 Apr 2022 05:08:14 GMT

「toUTCString()」メソッドを使うと、UTC時刻を返します。

UTC時刻を指定したのに、GMTと表示されています。

UTCは世界標準時の略、GMTはグリニッジ標準時。

言葉で説明すると両者に違いはあるのですが、実際は同じように使われています。

日本は9時間足した時間(日本時間から9時間引いた時間)になっています。

toJson

let time = new Date();
console.log(time.toJSON());

 2022-04-21T05:22:55.952Z

「toJSON」メソッドを使うと、ISO8601形式の文字列が返されます。

toLocalString()

let time = new Date();
console.log(time.toLocaleString('FR'));

 21/04/2022, 14:29:32

console.log(time.toLocaleString('US'));

 2022/4/21 14:30:07

console.log(time.toLocaleString('JP'));

 2022/4/21 14:32:05

「toLocalString()」メソッドを使うと、指定した国の表示形式で返されます。

指定した国の時間ではありませんのでご注意ください。

「toLocalDateString()」、「toLocalTImeString()」も使用できます。

getTime()

let time = new Date();
console.log(time.getTime());
 1650520236925

console.log(time.valueOf());
 1650520236925

「getTime()」メソッドは経過ミリ秒を返します。

「valueOF()」も同様の値を返します。

setTime()

let time = new Date();
console.log(time.getTime());
 1650520645916

time.setTime(10000);

console.log(time.toUTCString());
 Thu, 01 Jan 1970 00:00:10 GMT

「setTime()」メソッドは、引数に指定したミリ秒を新しい値として置き換えます。

getTImezoneOffset()

let time = new Date();
console.log(time);
 Thu Apr 21 2022 16:58:23 GMT+0900 (日本標準時)

console.log(time.getTimezoneOffset());
 -540

UTCタイムとの差を「分」で返します。

get と set の使い方

get メソッド

let time = new Date();

console.log(time);
 Thu Apr 21 2022 16:22:32 GMT+0900 (日本標準時)

let year = time.getFullYear();
let month = time.getMonth();
let date = time.getDate();
let day = time.getDay();
let hours = time.getHours();
let minutes = time.getMinutes();
let seconds = time.getSeconds();
let milliseconds = time.getMilliseconds();

console.log(year + '年' + month + '月' + date + '日' + day + '曜日' + hours + '時' + minutes + '分' + seconds + '秒' + milliseconds);

 2022年3月21日4曜日16時22分32秒837

年からミリ秒まで取得するメソッドを記述させて頂きました。

例ではあえて記述しませんでしたが、ここで注意して頂きたい点が2つあります。

  • monthはプラス1を付け加える:「time.getMonth() +1;
  • 曜日は数値で返される

曜日を月曜、火曜などと表示する場合は、配列を作って代入させてください。

メソッド意味
getFullYear()年を取得
getMonth()月を取得
(0から始まる)
getDate()日を取得
getDay()曜日を取得
(数値で取得)
getHours時間を取得
getMinutes分を取得
getSeconds秒を取得
getMillisecondsミリ秒を取得

UTCタイムゾーンを取得する場合は、「getUTCYear」と記述します。

set メソッド

let time = new Date();

console.log(time);
 Thu Apr 21 2022 16:46:00 GMT+0900 (日本標準時)

time.setFullYear(2030);
time.setMonth(0);
time.setDate(1);
time.setHours(10);
time.setMinutes(10);
time.setSeconds(10);
time.setMilliseconds(100);

console.log(time);
 Tue Jan 01 2030 10:10:10 GMT+0900 (日本標準時)

getメソッドの「get」が「set」に置き換わった感じです。

getメソッドと同様に、monthは「0」から始まります。

曜日は自動で変わります。

Date メソッド 一覧

意味
toString()現在時刻を返す
toDateString()日付を返す
toTimeString()時刻を返す
toUTCString()UTC時刻を返す
toJSON()ISO8601形式の文字列を返す
toLocalString()指定した国の表示形式で返す
getTime()経過ミリ秒を返す
valueOf()経過ミリ秒を返す
setTime()引数に指定したミリ秒を新しい値とします
getTImezoneOffset()UTCタイムとの差を返す
スポンサーリンク

あとがき

いかがでしたか。

とても沢山のメソッドがありましたが、無理に暗記する必要はありません。

必要に応じて覚えていけば良いと思います。

今回も最後までお読み頂きありがとうございました。

タイトルとURLをコピーしました