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

JavaScriptのDate.setTime()関数の使い方を徹底解説

Dateオブジェクトとは

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

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

その中でも setTime() 関数を使用すると、1970年1月1日00:00:00 UTCからの経過ミリ秒数を指定して、対象の日付の時刻をまとめて設定することができます。

構文

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

dateObj.setTime(timeValue);

引数 timeValue には、1970年1月1日00:00:00 UTCからの経過ミリ秒数を表す数値を指定します。通常は、別のDateオブジェクトから getTime() で取得した値を渡して使います。

サンプルコード

ここでは、2つのDateオブジェクトを作成し、一方の日時をもう一方にコピーする例を紹介します。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var dateObj1 = new Date('september 26, 89 5:4:25:96');
        var dateObj2 = new Date('November 1, 79 6:1:00:00');
        document.write("Current date: "+dateObj2.toUTCString());
        document.write("<br>");
        dateObj2.setTime(dateObj1.getTime());
        document.write("Modified date: "+dateObj2.toUTCString());
    </script>
</body>
</html>

実行結果

Current date: Thu, 01 Nov 1979 00:31:00 GMT
Modified date: Mon, 25 Sep 1989 23:34:25 GMT

解説

このサンプルでは、まず2つのDateオブジェクト(dateObj1dateObj2)を生成し、toUTCString()dateObj2 の元の日付を表示しています。

続いて、dateObj1.getTime() の戻り値(1970年1月1日からの経過ミリ秒数)を dateObj2.setTime() に渡すことで、dateObj2 の日時が1989年9月25日の日時に書き換えられているのがわかります。

このように setTime() を使えば、ミリ秒単位の数値一つで日時全体を簡単に置き換えることができ、日付の計算やコピー処理などで非常に便利です。

  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」と同様に、日付を表す文字列が返されます。 サンプルコード 以