【JS応用|実務向け】JavaScriptで今日の日付を正確に取得!`Date.prototype.getDate()`を使いこなす

導入:なぜ今日の日付を知る必要があるのか?

Webアプリケーション開発において、今日の日付を取得することは非常に一般的です。例えば、

  • ログの記録: いつ何が起こったかを記録する際に、日付情報は必須です。
  • カレンダー機能: ユーザーが日付を選択したり、表示したりする際に使われます。
  • レポート生成: 特定の期間のデータを集計・表示する際に、基準日として今日の日付が必要になります。
  • パーソナライゼーション: ユーザーの誕生日や記念日に関連するコンテンツを表示する際に利用されます。

これらの場面で、JavaScriptの`Date`オブジェクトと、そのメソッドである`getDate()`を理解しておくことは、開発効率とコードの正確性を高める上で重要です。

基礎知識:`Date`オブジェクトと`getDate()`メソッド

JavaScriptで日付や時刻を扱うためには、まず`Date`オブジェクトを作成する必要があります。`Date`オブジェクトは、現在の日付と時刻、あるいは指定した日付と時刻を表します。

// 現在の日付と時刻を持つDateオブジェクトを作成
const now = new Date();

`Date.prototype.getDate()`メソッドは、この`Date`オブジェクトが表す日付の中から「日」の部分だけを、1から31までの数値で返します。

例えば、「2023年10月26日」という`Date`オブジェクトがあった場合、`getDate()`を呼び出すと `26` という数値が返ってきます。

実装/解決策:今日の日付を取得する

今日の日付を「日」の部分だけ取得するには、以下の手順を踏みます。

1. `new Date()` を使って、現在の日付と時刻を表す`Date`オブジェクトを作成します。
2. 作成した`Date`オブジェクトに対して `.getDate()` メソッドを呼び出します。

これで、今日の日付の「日」を数値として取得できます。

サンプルプログラム

以下のコードは、今日の日付(日)を取得し、コンソールに表示する例です。

// 現在の日付と時刻を持つDateオブジェクトを作成します。
// new Date() は、実行された時点のローカルタイムゾーンに基づいた日付と時刻を返します。
const today = new Date();

// getDate() メソッドを使用して、Dateオブジェクトから「日」の部分を数値として取得します。
// このメソッドは、月の中での日を 1 から 31 の間の整数で返します。
const dayOfMonth = today.getDate();

// 取得した「日」をコンソールに出力します。
console.log(“今日の日付(日):”, dayOfMonth);

// 例: 2023年10月26日の場合、出力は “今日の日付(日): 26” となります。

// 別の例として、特定の日付を指定して getDate() を試すこともできます。
// 1999年12月31日を表すDateオブジェクトを作成します。
// 月は0から始まるため、12月は 11 と指定します。
const specificDate = new Date(1999, 11, 31); // 年, 月(0-11), 日
const specificDay = specificDate.getDate();

console.log(“指定した日付(日):”, specificDay); // 出力: 指定した日付(日): 31

応用・注意点

  • 取得できるのは「日」のみ: `getDate()`はあくまで「日」のみを返します。月や年を取得したい場合は、それぞれ `getMonth()` や `getFullYear()` メソッドを使用する必要があります。
  • `getMonth()` の注意点: `getMonth()` メソッドは、月を0から11までの数値で返します。そのため、例えば1月を取得したい場合は `getMonth()` は `0` を返します。表示する際には `+ 1` するのを忘れないようにしましょう。
  • タイムゾーン: `new Date()` は実行環境のローカルタイムゾーンに基づいた日付を生成します。もし、特定のタイムゾーンでの日付が必要な場合は、UTC(協定世界時)を扱う `getUTCDate()` などのメソッドや、ライブラリ(`date-fns` や `moment.js` など)の利用を検討してください。
  • フォーマット: `getDate()` で取得できるのは数値です。例えば「2023年10月5日」のように、ゼロ埋めされた「05」という形式で表示したい場合は、文字列操作(`padStart()` など)を組み合わせる必要があります。

const today = new Date();
const day = today.getDate();

// ゼロ埋めして2桁の文字列にする例
const formattedDay = String(day).padStart(2, ‘0’);
console.log(“フォーマットされた日付(日):”, formattedDay); // 例: “05”

`getDate()`メソッドはシンプルですが、日付を扱う上での基本となります。これらの知識を活かして、よりリッチな日付関連の機能を実装していきましょう。

タイトルとURLをコピーしました