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

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

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

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

Dateオブジェクトの setUTCDate() 関数は、日付(月の何日か)を表す整数を引数として受け取り、協定世界時(UTC)に基づいて現在の日付の値をその値に置き換えます。指定できる値は1〜31の整数で、範囲外の値を指定した場合は日付が自動的に繰り上げ・繰り下げされます。また、このメソッドは1970年1月1日00:00:00(UTC)からの経過ミリ秒を表すタイムスタンプを返します。

構文

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

dateObj.setUTCDate(19);

使用例

次の例では、setUTCDate() を使って日付を30日に変更しています。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var dateObj = new Date('September 26, 89 12:4:25:96');
        document.write("Current date: "+dateObj.toUTCString());
        document.write("<br>");
        dateObj.setUTCDate(30);
        document.write("Modified date: "+dateObj.toUTCString());
    </script>
</body>
</html>

出力結果

Current date: Tue, 26 Sep 1989 06:34:25 GMT
Modified date: Sat, 30 Sep 1989 06:34:25 GMT

使用例:日を指定せずにDateオブジェクトを作成した場合

Dateオブジェクトの作成時に日付(月の何日か)を指定しなかった場合でも、setUTCDate() 関数を使えば後から日付を設定できます。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var dateObj = new Date('September, 1989 00:4:00');
        dateObj.setUTCDate(2);
        document.write("<br>");
        document.write(dateObj.getUTCDate());
    </script>
</body>
</html>

出力結果

2

使用例:コンストラクタに値を渡さなかった場合

同様に、Dateオブジェクトの作成時にコンストラクタへ何も値を渡さなかった場合でも、この関数を使ってUTCの日付を設定できます。このとき、月と年の値は現在の日付のまま維持されます。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var dateObj = new Date();
        dateObj.setUTCDate(2);
        document.write("<br>");
        document.write("UTC month: "+dateObj.getUTCMonth());
        document.write("<br>");
        document.write("UTC date: "+dateObj.getUTCDate());
        document.write("<br>");
        document.write("UTC fullyear: "+dateObj.getUTCFullYear());
    </script>
</body>
</html>

出力結果

UTC month: 9
UTC date: 2
UTC full year: 2018

まとめ

setUTCDate() は、UTCを基準に日付(月の何日か)だけを簡単に変更できる便利なメソッドです。ローカル時間ではなく協定世界時で日付を扱いたい場合に活用しましょう。類似メソッドとして、ローカル時間基準の setDate() や、値を取得する getUTCDate() などもあわせて覚えておくと良いでしょう。

  1. JavaScriptのisNaN()関数とは?使い方と判定結果をわかりやすく解説

    JavaScriptのisNaN()関数とはJavaScriptのisNaN()関数は、引数として渡された値がNaN(Not a Number:数値ではない)であるかどうかを判定するグローバル関数です。値がNaN、あるいは数値に変換した結果NaNになる場合はtrueを返し、有効な数値であればfalseを返します。この関数は、文字列を数値へ変換する処理や数値演算の結果が不正になったかどうかをチェックしたい場合などに活用できます。構文isNaN(value);value: 判定対象となる値(文字列・数値・オブジェクトなど)また、ES6以降ではNumberオブジェクトからも呼び出すことが可能です。N

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

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