日常的なプログラム開発において、日付や時刻の取得・操作は一般的な要件の1つとなっています。JavaScriptにおいてもこのニーズは変わりません。そこで、この記事ではJavaScriptでの日付の取得方法を詳しく紹介していきます。
現在の日時を取得する
最も基本的なのは、現在の日時を取得することです。これは次のようにDateオブジェクトを使って簡単に行えます。
let currentDate = new Date();
console.log(currentDate);
このコードを実行すると、ブラウザのコンソールには現在の日時が表示されます。例えば、”Fri May 21 2021 15:40:05 GMT+0900 (Japan Standard Time)”といった形式で出力されるでしょう。
特定の日時を取得する
すでに知っている日付や時刻を基に、Dateオブジェクトを作成することも可能です。
let specificDate = new Date(2023, 4, 21);
console.log(specificDate);
注意点として、月は0からカウントされます。つまり、1月は0、12月は11となります。上記のコードでは5月21日の日付オブジェクトを作成しています。
日付の各部分を取得する
日付オブジェクトから、年や月、日、時、分、秒といった部分を個別に取得することができます。これには以下のようなメソッドを使用します。
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
let date = now.getDate();
let hours = now.getHours();
let minutes = now.getMinutes();
let seconds = now.getSeconds();
console.log(year, month, date, hours, minutes, seconds);
これにより、例えば”2021 5 21 15 40 5″というように現在の日時の各部分を取得することができます。
日付のフォーマット
JavaScriptの標準ライブラリだけでは、特定のフォーマットの日付文字列を得るのは難しいです。しかし、以下のように自分で関数を作成することで対応することができます。
function formatDate(d) {
let year = d.getFullYear();
let month = (d.getMonth() + 1).toString().padStart(2, '0');
let date = d.getDate().toString().padStart(2, '0');
return `${year}-${month}-${date}`;
}
let now = new Date();
console.log(formatDate(now));
padStartメソッドを使用して、月や日が1桁の場合にも2桁の形式になるようにしています。
まとめ
JavaScriptにおける日付の取得や操作は、Date オブジェクトを中心に様々な方法で実行できます。現在の日時の取得から特定の日時の生成、また日付の各部分の取得やフォーマットまで、基本的な操作はJavaScriptの標準機能でカバーできます。しかし、より高度な日付操作や複雑なフォーマットが求められる場合には、外部ライブラリを活用することで効率的に対応することができます。日付や時刻に関連する要件は多岐にわたるため、適切なツールやメソッドを選択して、柔軟に対応することが大切です。