JavaScriptで日付を扱うためのDateオブジェクトのメソッドいろいろ
Dateオブジェクトには、年、月、日付、曜日、時間といろいろデータが取れるわけで、 これを使って「何月はこれを表示させて〜〜」とか「朝の時間帯はこの文章、夜はこの文章を出したい」 なんて時があったりなかったり。
そんな時、これでデータ取ってきて条件分岐で表示を切り替えちゃえばいいんだよね。
まずは現在の日時を取り出しましょう。
「Date()」を使います。
※組み込みオブジェクト(JavaScriptがあらかじめ用意しているオブジェクト)にはnewを使います。
とりあえず、「nt」という変数に現在の日時を取ってきて入れます。
let nt = new Date();
すると「Thu Mar 24 2016 16:06:35 GMT+0900」のような値が取れます。
ここからは「nt」という変数に入った現在の日時を使って年、月、日付、曜日、時間の値を取得します。
getFullYearで年の値を取得
getFullYear()メソッドを使うと年の値を取得できます。
let nt = new Date();
let year = nt.getFullYear();
返す値は4桁の年数で、2016年だったら2016と返ってきます。
getMonthで月の値を取得
getMonth()メソッドを使うと月の値を取得できます。
let nt = new Date();
let month = nt.getMonth();
取得できる値は0から11までの数値。1月は0、2月は1、3月は2・・・ 12月で11を取得します。
ちょっとややこしいですね。
getDateで日の値を取得
getDate()メソッドを使うと日の値を取得できます。
let nt = new Date();
let date = nt.getDate();
返す値は、1〜31の整数。
getDayで曜日の値を取得
getDay()メソッドを使うと曜日の値を取得できます。
let nt = new Date();
let day = nt.getDay();
取得できる値は0から6までの数値。曜日の始めの日曜日から0、月曜日は1・・・土曜日なら6を取得します。
getMonth同様、ちょっとややこしい。
getHoursで時間の値を取得
getHours()メソッドを使うと時間の値を取得できます。
let nt = new Date();
let hour = nt.getHours();
取得できる値は0から23の数値。
こんな感じで使う
上記で取得してきた値を使っていろいろと条件でやりたいことを制御できるわけで、ちょっとここでif文で時間の値を使って、こんな感じで書けますよ〜〜ってサンプル。
4時〜10時には朝の処理、11時〜16時はお昼から夕方までの処理、それ以外の17時〜2時は夜から深夜までの処理をするっていうプログラム。
let nt = new Date();
let hour = nt.getHours();
if (hour >= 4 && hour <= 10) {
//朝の処理
} else if (hour >= 11 && hour <= 16) {
//お昼から夕方までの処理
} else {
//夜から深夜までの処理
}
朝だったら「おはようございます」、昼だったら「こんにちは」、夜だったら「こんばんわ」みたいな表示切り替えなんかに使えるね。
他にも月を取得して、季節でCSSファイルの読み込みを変えるとか。