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オブジェクト(dateObj1 と dateObj2)を生成し、toUTCString() で dateObj2 の元の日付を表示しています。
続いて、dateObj1.getTime() の戻り値(1970年1月1日からの経過ミリ秒数)を dateObj2.setTime() に渡すことで、dateObj2 の日時が1989年9月25日の日時に書き換えられているのがわかります。
このように setTime() を使えば、ミリ秒単位の数値一つで日時全体を簡単に置き換えることができ、日付の計算やコピー処理などで非常に便利です。
-
JavaScriptのDate.toDateString()メソッドの使い方を徹底解説
Dateオブジェクトは、JavaScript言語に標準で組み込まれているデータ型です。Dateオブジェクトは、以下のようにnew Date()を使って生成します。一度Dateオブジェクトを作成すると、さまざまなメソッドを使ってそのオブジェクトを操作できます。ほとんどのメソッドは、ローカル時間またはUTC(協定世界時・グリニッジ標準時)のいずれかを基準として、オブジェクトが持つ年、月、日、時、分、秒、ミリ秒の各フィールドを取得・設定するためのものです。その中でもtoDateString()メソッドは、時刻情報を除いた「日付部分のみ」を文字列として返すメソッドです。構文toDateString()
-
JavaScriptのDate.@@toPrimitive()関数とは?日付オブジェクトをプリミティブ値に変換する方法
JavaScriptのDate.@@toPrimitive()関数は、Dateオブジェクトをプリミティブ値に変換するために使用されます。このメソッドはSymbol.toPrimitiveプロパティを通じて呼び出され、引数に指定したヒント(hint)に応じて、文字列や数値など適切なプリミティブ値を返します。 ヒントの種類と戻り値 「default」:日付を表す文字列が返されます。 「number」:1970年1月1日00:00:00 UTCからの経過ミリ秒数(タイムスタンプ)が数値で返されます。 「string」:「default」と同様に、日付を表す文字列が返されます。 サンプルコード 以