JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで日付を扱う方法|Dateオブジェクトの基本と主要メソッド一覧

JavaScriptには、日付や時刻を扱うための組み込みデータ型としてDateオブジェクトが用意されています。Dateオブジェクトは new Date() を使って生成します。コンストラクタには複数の呼び出し形式があり、用途に応じて使い分けられます。

new Date()
new Date(milliseconds)
new Date(datestring)
new Date(year, month, date[, hour, minute, second, millisecond])
  • 引数なし:現在の日付と時刻を持つインスタンスを生成
  • ミリ秒指定:1970年1月1日00:00:00 UTCからの経過ミリ秒で生成
  • 文字列指定:日付文字列(例:"2024-01-15")から生成
  • 個別指定:年・月・日などを数値で個別に指定して生成(月は0始まりなので注意)

Dateオブジェクトの主なメソッド

JavaScriptで日付を操作する際によく使われるメソッドは以下の通りです。いずれもローカル時刻に基づいた値を返します。

No.メソッドと説明
1Date()
現在の日付と時刻を返します。
2getDate()
ローカル時刻に基づき、「日」(1〜31)を数値で返します。
3getDay()
ローカル時刻に基づき、曜日を0(日曜)〜6(土曜)の数値で返します。
4getFullYear()
ローカル時刻に基づき、年を4桁の数値で返します。
5getHours()
ローカル時刻に基づき、「時」(0〜23)を返します。
6getMilliseconds()
ローカル時刻に基づき、ミリ秒(0〜999)を返します。
7getMinutes()
ローカル時刻に基づき、「分」(0〜59)を返します。

日付を任意の形式にフォーマットするには

Dateオブジェクトをそのまま文字列化すると、ブラウザや環境によって表示形式が異なるため、実務では次のような方法で整形するのが一般的です。

  • toLocaleDateString() / toLocaleString():ロケール(言語・地域)に応じた読みやすい形式で出力できます。
  • Intl.DateTimeFormat:書式を細かく制御できる国際化APIです。和暦対応など高度なカスタマイズも可能です。
  • toISOString():ISO 8601形式(YYYY-MM-DDTHH:mm:ss.sssZ)で出力でき、API通信などに便利です。
const now = new Date();

console.log(now.toLocaleDateString('ja-JP'));
// 例: 2024/1/15

console.log(new Intl.DateTimeFormat('ja-JP', {
  year: 'numeric', month: 'long', day: 'numeric'
}).format(now));
// 例: 2024年1月15日

より詳しい仕様や使用例については、MDN Web Docsの「Date」リファレンスを参照することをおすすめします。公式ドキュメントには、各メソッドの詳細な説明と豊富なサンプルコードが掲載されています。

  1. JavaScriptでさまざまな日付形式を扱う方法|サンプルコード付きで解説

    JavaScriptで日付を扱う際は、組み込みのDateオブジェクトを使用します。Dateコンストラクタにさまざまな形式の文字列を渡すことで、それぞれの形式に応じた日付オブジェクトを生成できます。ここでは、複数の日付形式を実際にページへ表示するサンプルコードを紹介します。コード例<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi

  2. JavaScriptの日付取得メソッド一覧と使い方を徹底解説

    JavaScriptでは、Dateオブジェクトを使うことで、現在の日時や指定した日時から年・月・日・時刻などの情報を簡単に取得できます。以下は、日付情報を取得するための主要なメソッドの一覧です。 メソッド説明 getFullYear()年を4桁の数値で返します(例:2024)。 getMonth()月を数値で返します(0〜11)。0が1月、11が12月に対応するため注意が必要です。 getDate()日を数値で返します(1〜31)。 getHours()時を返します(0〜23)。 getMinutes()分を返します(0〜59)。 getSeconds()秒を返します(0〜59)。