職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

JS--Date オブジェクトのインスタンスを作成する方法

2024年05月16日 | JavaScript

Date オブジェクトのインスタンスを作成する方法

【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム

【Dateオブジェクトのコンストラクタの種類】
Date オブジェクトのインスタンス(実体)を作成するにはコンストラクタを使用します。
・書式

new Date()
new Date(経過ミリ秒数)
new Date(日付と時刻を表す文字列)
new Date(年, 月 [, 日 [, 時 [, 分 [, 秒 [, ミリ秒]]]]])

引数の指定方法が異なる 4 種類のコンストラクタが使用できます。このあと、それぞれの使い方について解説します。

※ Date オブジェクトのインスタンスを作成すると、特定の日時を表す値を持ちます。この値は内部的には 1970 年 1 月 1 日 0 時 0 分 0 秒 UTC からの経過ミリ秒という形式で保管されており、 Date オブジェクトのインスタンスメソッドを使うことで色々な形式で情報を取り出すことができます。

【現在日時のDateオブジェクトのインスタンスを作成する】
コンストラクタで引数を指定せずに Date オブジェクトのインスタンスを作成すると、現在の日時の値を持つインスタンスができる。
・書式

new Date()

次のサンプルをみてください。

let d = new Date();//インスタンスd = コンストラクタ Date()

console.log(d.toString());
>> Thu Oct 15 2020 12:44:10 GMT+0900 (日本標準時)

console.log(d.toUTCString());
>> Thu, 15 Oct 2020 03:44:10 GMT

インスタンスを作成した時の日時の値を持つインスタンスを作成しました。

 Date オブジェクトの toString メソッドはローカルの環境で設定されているタイムゾーンで日付が表示する。

toUTCString メソッドはタイムゾーンを UTC (協定世界時) として日付が表示する

【経過ミリ秒を指定してDateオブジェクトのインスタンスを作成する】
基準日時 1970 年 1 月 1 日 0 時 0 分 0 秒 UTC からの経過ミリ秒を指定して Date オブジェクトのインスタンスを作成します。
・書式

new Date(経過ミリ秒数)

引数に指定した基準日時からの経過ミリ秒数で表される日時の値を持つ Date オブジェクトのインスタンスを作成します。
このコンストラクタでは UTC からの経過ミリ秒で日時を指定するため、タイムゾーンについて考慮する必要がありません。

・サンプル

let d1 = new Date(1000);
console.log(d1.toUTCString());
>> Thu, 01 Jan 1970 00:00:01 GMT

let d2 = new Date(1602679695309);
console.log(d2.toUTCString());
>> Wed, 14 Oct 2020 12:48:15 GMT

最初の例では基準日時からの 1000 ミリ秒( 1 秒)経過後の日時を値を持つインスタンスを作成しました。次の例では基準日時からの 1602679695309 ミリ秒経過後の日時を値を持つインスタンスを作成しました。

【日時を表す文字列を指定してDateオブジェクトのインスタンスを作成する】

・書式

new Date(日付と時刻を表す文字列)

文字列の形式は特に決まっていません。

・サンプル

let d1 = new Date('2020-10-14T21:48:15');
console.log(d1.toString());
>> Wed Oct 14 2020 21:48:15 GMT+0900 (日本標準時)

let d2 = new Date('2020-10-14T21:48:15+0900');
console.log(d2.toString());
>> Wed Oct 14 2020 21:48:15 GMT+0900 (日本標準時)

let d3 = new Date('2020-10-14T21:48:15Z');
console.log(d3.toString());
>> Thu Oct 15 2020 06:48:15 GMT+0900 (日本標準時)

タイムゾーンを指定しなかった場合とタイムゾーンとして日本標準時および UTC を指定した場合でインスタンスを作成しました。
タイムゾーンを指定しなかった場合は、ローカルの環境で設定されているタイムゾーンでの日時が指定されたものとをして扱われるようです。

【年や分などを数値で指定してDateオブジェクトのインスタンスを作成する】
年、月、日、時、分、秒、ミリ秒に関する数値をそれぞれお指定して Date オブジェクトのインスタンスを作成します。
・書式

new Date(年, 月 [, 日 [, 時 [, 分 [, 秒 [, ミリ秒]]]]])

年と月については必須の項目ですが、それ以外については省略可能!
省略した場合、日は 1 に、それ以外の 時、分、秒、ミリ秒は 0 が設定されます。年については 4 桁または 2 桁で指定します。 2 桁で指定した場合は 1900 + 年 となります。また月に関しては 0 から 11 の値で指定します。 1 月が 0 、 2 月が 1 、 12 月 が 11 です

サンプル

let d1 = new Date(2012, 9);
console.log(d1.toString());
>> Mon Oct 01 2012 00:00:00 GMT+0900 (日本標準時)

let d2 = new Date(96, 3, 24);
console.log(d2.toString());
>> Wed Apr 24 1996 00:00:00 GMT+0900 (日本標準時)

let d3 = new Date(2020, 9, 14, 16, 28, 5, 114);
console.log(d3.toString());
>> Wed Oct 14 2020 16:28:05 GMT+0900 (日本標準時)

【コンストラクタをnew演算子をつけずに呼びだした場合】
Date オブジェクトのコンストラクタを new 演算子を付けずに関数として呼び出すと、現在の日時を表す文字列を返します。

・サンプル

let str = Date();
console.log(str);
>> Thu Oct 15 2020 04:33:42 GMT+0900 (日本標準時)

console.log(typeof str)
>> string

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« JS--グローバル関数のencodeU... | トップ | JS---値を文字列で取得する »
最新の画像もっと見る

コメントを投稿

JavaScript」カテゴリの最新記事