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

JavaScriptのDate.parse()関数とは?日付文字列をミリ秒に変換する方法を解説

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

Dateオブジェクトを一度作成すれば、さまざまなメソッドを使って操作できるようになります。多くのメソッドは、ローカル時間またはUTC(協定世界時/グリニッジ標準時)のいずれかの時刻基準をもとに、年・月・日・時・分・秒・ミリ秒といった各フィールドの値を取得(get)したり設定(set)したりするために使用されます。

parse() 関数は、文字列形式で与えられた日付を受け取り、それを解析したうえで、1970年1月1日00:00:00 UTCからの経過ミリ秒数を計算して返します。この値はUNIXエポックタイムスタンプとも呼ばれ、日付同士の比較や時間差の計算などに幅広く活用されます。

構文

parse() メソッドの構文は以下のとおりです。

Date.parse(dateString);
  • dateString: 解析対象となる日付を表す文字列を指定します。

なお、指定された文字列が有効な日付として認識できない場合は、NaN が返されます。

使用例①:経過ミリ秒数を取得する

次の例では、「1989年9月29日 00:04:00 GMT」という日付文字列を解析し、1970年1月1日からの経過ミリ秒数を取得しています。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var dateObj = Date.parse('29 sep 1989 00:4:00 GMT');
        document.write("Number of milliseconds from 1970: " + dateObj);
    </script>
</body>
</html>

出力結果

Number of milliseconds from 1970: 623030640000

使用例②:解析したミリ秒から日付を復元する

次の例では、Date.parse() で得たミリ秒数を、Date() コンストラクタに渡して日付として表示しています。

<html>
<head>
    <title>JavaScript parse Method</title>
</head>
<body>
    <script type="text/javascript">
        var msecs = Date.parse("Aug 28, 2008 23:30:00");
        document.write(Date(msecs));
    </script>
</body>
</html>

出力結果

Wed Oct 17 2018 12:31:35 GMT+0530 (India Standard Time)

まとめ

Date.parse() を使えば、人間が読みやすい形式の日付文字列を数値(ミリ秒)に変換でき、日付の比較や加減算などの処理が容易になります。ただし、ISO 8601形式(例:"2024-01-01T00:00:00Z")以外の文字列の解析結果はブラウザによって異なる場合があるため、確実な動作が求められる場面ではISO形式の文字列を使用することをおすすめします。

  1. JavaScriptのDate.toDateString()メソッドの使い方を徹底解説

    Dateオブジェクトは、JavaScript言語に標準で組み込まれているデータ型です。Dateオブジェクトは、以下のようにnew Date()を使って生成します。一度Dateオブジェクトを作成すると、さまざまなメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時・グリニッジ標準時)のいずれかを基準として、オブジェクトが持つ年、月、日、時、分、秒、ミリ秒の各フィールドを取得・設定するためのものです。その中でもtoDateString()メソッドは、時刻情報を除いた「日付部分のみ」を文字列として返すメソッドです。構文toDateString()

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

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