本記事では、JavaScriptで現在時刻を取得する方法について解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
現在の時刻を取得する方法
現在の時刻を取得するには、Dateオブジェクトを使用します。基本的な使い方は以下のとおりです。
let time = new Date();
console.log(time); // => Mon Mar 13 2023 15:01:43 GMT+0900 (GMT+09:00)
取得した値を見て分かる通り、このままだと少し使い勝手が悪いです。Dateオブジェクトには、年月日だけ取得できるメソッドがあるので紹介します。
let time = new Date();
// 年を取得:getFullYear()
console.log(time.getFullYear()); // => 2022
// 月を取得:getMonth()
console.log(time.getMonth()); // => 2
// 日を取得:getDate()
console.log(time.getDate()); // => 13
// 曜日を取得:getDay()
console.log(time.getDay()); // => 1
// 時を取得:getHours()
console.log(time.getHours()); // => 15
// 分を取得:getMinutes()
console.log(time.getMinutes()); // => 11
// ミリ秒を取得:getSeconds()
console.log(time.getSeconds()); // => 23
注意すべき点は、月を取得するgetMonthメソッドと曜日を取得するgetDayメソッドです。
getMonthメソッドは、1~12ではなく0~11の値を返します。今回は、2が返されているため2月と勘違いしそうですが、実際は3月になります。
getDayメソッドは、0~6の値を返します。値はそれぞれの曜日と紐づけられており、0(日曜日)~6(土曜日)になります。今回は、1が返されているので月曜日になります。
先輩くん
上記で紹介したメソッドを使用して、現在の時刻は◯年◯月◯日(◯)◯時◯分◯秒です。のようなコードを作成したので確認してみましょう!
let time = new Date();
let year = time.getFullYear();
let month = time.getMonth() + 1;
let data = time.getDate();
let day = time.getDay();
day = ["日", "月", "火", "水", "木", "金", "土"][day];
let hours = time.getHours();
let minutes = time.getMinutes();
let seconds = time.getSeconds();
console.log(
`現在の時刻は${year}年${month}月${data}日(${day}) ${hours}時${minutes}分${seconds}秒です。`
);
// => 現在の時刻は2023年3月13日(月) 15時25分26秒です。
月は一つずれているため、time.getMonth() + 1で調整します。
曜日に関しては、日曜日~土曜日の順に入っている配列を用意しgetDayメソッドで取得した番号をインデックス番号として紐づいている配列要素を取得します。