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

JavaScriptのDate.toJSON()メソッドとは?日付をISO形式の文字列に変換する使い方を解説

Dateオブジェクトは、JavaScript言語に組み込まれているデータ型の一つです。Dateオブジェクトは、次のように new Date() を使って生成します。

一度Dateオブジェクトを作成すると、多数のメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時/GMT)のいずれかの時刻に基づいて、年・月・日・時・分・秒・ミリ秒の各フィールドを取得または設定するためのものです。

toJSON() 関数は、Dateオブジェクトが持つメソッドの一つで、その日付を簡略化された拡張ISO形式(ISO 8601形式)の文字列として返します。このメソッドは JSON.stringify() によるシリアライズの際にも自動的に呼び出されるため、日付データをJSONとして扱う場面で非常に役立ちます。

構文(Syntax)

toJSON()の構文は以下のとおりです。

dateObj.toJSON();

引数は不要で、対象となるDateオブジェクトに対してそのまま呼び出します。なお、無効な日付を保持するDateオブジェクトに対して呼び出した場合は null が返される点にも注意してください。

使用例1:特定の日付を指定した場合

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date('september 26, 89 12:4:25:96');
      var jsonDate = dateObj.toJSON();
      document.write("Current Date: "+jsonDate);
   </script>
</body>
</html>

実行結果

Current Date: 1989-09-26T06:34:25.096Z

この例では、「1989年9月26日12時4分25秒96」を指定してDateオブジェクトを生成し、toJSON()でISO 8601形式の文字列に変換しています。出力の末尾にある「Z」はUTC(協定世界時)を表します。

使用例2:引数なしで現在日時を取得した場合

Dateコンストラクタに引数を渡さずにDateオブジェクトを生成すると、その関数は現在の日付と時刻を含むJSON形式の文字列を返します。

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var dateObj = new Date();
      var jsonDate = dateObj.toJSON();
      document.write("Current Date: "+jsonDate);
   </script>
</body>
</html>

実行結果

Current Date: 2018-10-18T11:57:45.116Z

※この出力はあくまで一例です。実際に実行した時点の日時が表示されます。

まとめ

  • toJSON()はDateオブジェクトをISO 8601形式(YYYY-MM-DDTHH:mm:ss.sssZ)の文字列に変換する。
  • 引数は不要で、無効な日付の場合はnullを返す。
  • JSON.stringify()でDateオブジェクトを変換する際にも自動的に利用される。
  1. JavaScriptのDate.setUTCMonth()メソッドとは?構文と使い方を実例付きで解説

    Dateオブジェクトは、JavaScriptに組み込まれているデータ型の一つです。Dateオブジェクトは、次のように new Date() を使って生成します。 Dateオブジェクトを生成すると、多数のメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時/GMT)のいずれかの時刻基準で、年・月・日・時・分・秒・ミリ秒の各フィールドを取得・設定するためのものです。 setUTCMonth()メソッドは、年の月を表す整数を受け取り、UTC(協定世界時)に基づいて現在の日付の「月」の値を置き換えます。月の値は0が1月を表し、以降は11が12月に

  2. JavaScriptのDate.@@toPrimitive()関数とは?日付オブジェクトをプリミティブ値に変換する方法

    JavaScriptのDate.@@toPrimitive()関数は、Dateオブジェクトをプリミティブ値に変換するために使用されます。このメソッドはSymbol.toPrimitiveプロパティを通じて呼び出され、引数に指定したヒント(hint)に応じて、文字列や数値など適切なプリミティブ値を返します。 ヒントの種類と戻り値 「default」:日付を表す文字列が返されます。 「number」:1970年1月1日00:00:00 UTCからの経過ミリ秒数(タイムスタンプ)が数値で返されます。 「string」:「default」と同様に、日付を表す文字列が返されます。 サンプルコード 以