[JavaScript]日付(Date)を使ってみて調べたこと

JavaScriptjavascript

広告

JavaScriptに関する記事
ECMAScriptとJavaScript
JavaScript初心者が知ったvarとletによる宣言の違い
JavaScriptでDOMの操作
[JavaScript] アロー関数について

経緯

これまで、PHPで日付を扱うことになったときに、DateTime型を使ってきました。DateTimeクラスでは様々なメソッドが用意されており、日付の操作や出力のフォーマットの指定などを簡単にすることができていました。今回は、PHPではなく、JavaScriptを使って同様の処理を書くことになったので、その際に使ったことなどを紹介してみたいと思います。

Dateインスタンス

日付や時刻を扱うことが可能な、JavaScript の Date インスタンスを生成します。Date オブジェクトは、1970 年 1 月 1 日 (UTC) から始まるミリ秒単位の時刻値を基準としています。PHPのように日付の変更や年、月、日などの取得もできるようなメソッドが用意されています。

インスタンスを生成する事によって、Dateインスタンスを生成することができます。

var today = new Date();

 出力結果

Wed Nov 14 2018 21:59:59 GMT+0900 (日本標準時)

様々なインスタンス生成方法

var date = new Date ('2018-01-01');
#Mon Jan 01 2018 09:00:00 GMT+0900 (日本標準時)

var date2 = new Date(2918,1,1);
#Tue Feb 01 2918 00:00:00 GMT+0900 (日本標準時)

Dateオブジェクトを生成時の月は1引いた数値で指定!!

上で書いた、様々なインスタンス生成の2つめの書き方にあるように、Dateオブジェクトを生成するときに、引数の書き方を数値で指定する場合の、月は指定した数値より1ヶ月後の日付が出力されていることがわかる。
なので、Dateオブジェクトを生成時の月は1引いた数値で指定!!

日付をあとから変更

var date = new Date ('2018-01-01');
#Mon Jan 01 2018 09:00:00 GMT+0900 (日本標準時)

date.setDate(date.getDay()+10);
#Thu Jan 11 2018 09:00:00 GMT+0900 (日本標準時)

広告