JavaScriptでの現在日時の調べ方とコード例まとめ

JavaScriptでは次のようにDateオブジェクト(オプションなし)を作成し、そのメソッドにアクセスすることで現在の年月日や時刻などを調べられます。

上コードみたいにオブジェクトを作成して日時取得用のメソッドを呼び出すだけなんですが、これが意外と忘れやすいんですよね。

そこでDateオブジェクトから現在の年月日・時刻を調べる方法メソッド)をまとめました。

getFullYear() - 年(西暦)を返す

現在年(西暦)の取得には Date.getFullYear  メソッドを使います。その名前通り現在の年を 2018  みたいな西暦で返してくれる機能を持つメソッドです。

ちなみに昔だと Date.getYear  を使ってましたが現在はWeb標準からは削除されているみたいです。なので間違って getYear  の方を使わないように要注意

 

使用コード例 : 現在年(西暦)をコンソール表示

使い方については特に注意点はないです。上コードみたいに純粋に西暦を返すだけなので

getMonth() - 月を返す

現在月の取得に使われるのが Date.getMonth  メソッドで、今何月なのかを調べたければこのメソッドを呼び出せばOKです。

ただし返り値は 0 を基点とした値であることに注意。例えば5月だったら 4  、 11月だったら 10  のように ( - 1)  の値を返すことに少し気を付けないといけません。

 

使用コード例 : 現在月をコンソール表示

getMonth  が返してくる月は 0  ~ 11  なので上コードみたく表示する時は +1  しないとダメです。そうしないと0月とかいう訳の分からない月が誕生してしまうので気を付けた方がいいですね。

getDate() - 日にちを返す

現在日の取得には Date.getDate  メソッドを使えばOK。

これは getMonth  と違って人間が数えるように 1 から始まる日付を返してくれます。なので返り値に +1  する必要はありません。

 

使用コード例 : 現在日をコンソール表示

getFullYear  と getDate  は +1  する必要なしな一方、 getMonth  の返り値は +1  が必要 ・・・こういう違いがあるので年月日を表示する場合は少し注意が必要です。

getDay() - 曜日に対応する値を返す

現在の曜日を取得するには Date.getDay  メソッドを使います。

ただし返り値は日曜日が 0 としてそこから1ずつ進む値であることに要注意。つまり月曜日なら 1  、火曜日なら 2  と進んでいき最終的に土曜日だと 6  の値が返されるってことです。

あと普通に文字列では返してくれないので、表示する時は次コード例みたいに工夫が必要になります。

 

使用コード例 : 現在曜日を日本語でコンソール表示

上コードは getDay  の返り値に対応する曜日名を dayName  に代入し、最後にコンソール表示している例。switch文を使って地道に値に対応する曜日名を代入してます。

実際はこんなコードをいちいち書かず、連想配列とか使った方がスマートですね。

getHours() - 何時かの値を返す

今何自時を調べるには Date.getHours  メソッドを呼び出せばOK。返り値は 0  ~ 23  の範囲です。

ただし24時が 0  になるので返り値に +1 する必要はありません。例えば午前6時なら 6  、午後8時なら 21  みたいに普通の24時間表記の値が返ってきます。

 

使用コード例 : 今何時かをコンソール表示

上コードでは返り値が 0  の場合は 24  になるように補正しています。

こういう時刻表示のコードみたいに

  • 現在時間を画面表示したい
  • 時間帯で処理を切り替えたい

などの場合は24時の扱いに少しだけ注意が必要かもしれません。

getMinutes() - 何分かの値を返す

今何分かを取得するのに使えるのが Date.getMinutes  メソッド。返り値は 0  ~ 59  までの範囲です。

このメソッドも60秒で 0  が返されるので返り値に +1 する必要はありません。例えば1時5分なら 5  が、6時30分なら 30  みたいに人間が数えるのと同じ分数を返してきます。

 

使用コード例 : 現在の分をコンソール表示

このコードも getHours  と同じように60秒の場合だけ補正しています。そうしないと「ただ今 0 分」みたいな不自然な値が表示されてしまうので注意

getSeconds() - 何秒かの値を返す

現在時刻が何秒かを取得するには Date.getMinutes  メソッドを使えばOK。返り値は 0  ~ 59  の範囲です。

ここまでの流れで予想がつくかもですが、これも返り値を +1 する必要はありません。ただし60秒の場合は 0  が返されるのでそこだけ注意が必要です。

 

使用コード例 : 現在秒をコンソール表示

時間とか分の場合と同じく返り値 0  の場合だけ 60  になるように補正しています。それ以外は普通に秒数が返ってくるだけなので特に注意点もありません。

ここまでのまとめ

ここまで紹介したメソッドを簡単にまとめると次の通り

  • Date.getFullYear()
    年を西暦で返すメソッド。 getYear  は現在では削除されたので使用しないよう注意
  • Date.getMonth()
    月を 0 ~ 11 の範囲で返すメソッド。画面表示する場合は返り値に +1 することが必要
  • Date.getDate()
    日にちを 1 から始まる人間が数えるのと同じ数字で返すメソッド。
  • Date.getDay()
    曜日を 0 ~ 6 の数字で返すメソッド。返り値は日曜日を 0 として1ずつ進む値
  • Date.getHours()
    時間を 0 ~ 23 までの範囲で返すメソッド。24時の場合だけ 0 が返すことに注意
  • Date.getMinutes()
    分を 0 ~ 59 までの範囲で返すメソッド。60分の場合だけ 0 を返すことに注意
  • Date.getSeconds()
    秒を 0 ~ 59 までの範囲で返すメソッド。60秒の場合だけ 0 を返すことに注意

特に getMonth  は ( - 1)  の値が返ってくることに注意です。あと時・分・秒については1周したときの最後の値が 0  になることも気を付けたいですね。

以上JavaScriptでの年月日・時刻の調べ方とコード例についてでした。