recursal/MDN huggingface dataset:
Date.prototype.setYear()
========================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

古い **`setYear()`** メソッドは、指定された日付の年をローカル時間に従って設定します。

しかし、古い `setYear()` メソッドが年を設定する方法は、好ましい `setFullYear()` メソッドが年を設定する方法と異なり、いくつかのケースでは `new Date()` や `Date.parse()` が年の値を設定する方法とも異なっています。詳細度は、`22` や `61` のような 2 桁の数字が指定された場合、以下のようになります。

* `setYear()` は任意の 2 桁の数字を `1900` へのオフセットとして解釈します。したがって、 `date.setYear(22)` は年の値を `1922` に、 `date.setYear(61)` は年の値を `1961` に設定することになります（一方、 `new Date(61, 1)` は年の値を `1961` に設定しますが、 `new Date("2/1/22")` は年の値を `2022` に設定し、同様に `Date.parse()` も同じになります）。
* `setFullYear()` は特別な解釈をせず、 2 桁のリテラル値をそのまま使用して年を設定します。したがって、 `date.setFullYear(61)` は年の値を `0061` に、 `date.setFullYear(22)` は年の値を `0022` に設定する結果となります。

これらの動作の違いから、古いメソッドである `setYear()` はもう使用せず、代わりに推奨の `setFullYear()` メソッドを使用してください。

構文
--


```js
setYear(yearValue)
```

### 引数

`yearValue`

整数値。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説
--

`yearValue` が 0 から 99 までの値の場合、 `dateObj` の「年」には `1900 + yearValue` が設定されます。そうでない場合、`dateObj` の「年」には `yearValue` が設定されます。

例
-

### setYear() の使用

最初の 2 行は「年」を 1996 に設定します。3 行目は、「年」を 2000 に設定します。


```js
const theBigDay = new Date();

theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setyear |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.setYear` のポリフィル (`core-js`)
* `Date.prototype.getFullYear()`
* `Date.prototype.getUTCFullYear()`
* `Date.prototype.setFullYear()`
* `Date.prototype.setUTCFullYear()`
Date.prototype.setUTCHours()
============================

**`setUTCHours()`** メソッドは、協定世界時に基づき、指定された日付の「時」を設定し、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された `Date` インスタンスが表す時刻までの間のミリ秒単位の数値を返します。

試してみましょう
--------

構文
--


```js
setUTCHours(hoursValue)
setUTCHours(hoursValue, minutesValue)
setUTCHours(hoursValue, minutesValue, secondsValue)
setUTCHours(hoursValue, minutesValue, secondsValue, msValue)
```

### 引数

`hoursValue`

「時」を表す 0 から 23 までの間の整数値。

`minutesValue`

任意。「分」を表す 0 から 59 までの間の整数値。

`secondsValue`

任意。「秒」を表す 0 から 59 までの間の整数値。`secondsValue` 引数を指定した場合、`minutesValue` も指定しなければなりません。

`msValue`

任意。ミリ秒を表す 0 から 999 までの間の整数値。`msValue` 引数を指定した場合、`minutesValue` と `secondsValue` も指定しなければなりません。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説
--

`minutesValue`, `secondsValue` および `msValue` 引数を指定しない場合、`getUTCMinutes()` と `getUTCSeconds()`、`getUTCMilliseconds()` メソッドから返される値が使われます。

指定した値が期待される日付の範囲外の場合、それに応じて `setUTCHours()` が `Date` オブジェクトの日付情報の更新を試みます。例えば、`secondsValue` に 100 を指定した場合、分に 1 が加算 (`minutesValue + 1`) され、秒が 40 になります。

例
-

### setUTCHours() の使用


```js
const theBigDay = new Date();
theBigDay.setUTCHours(8);
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutchours |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCHours()`
* `Date.prototype.setHours()`
Date.prototype.getUTCFullYear()
===============================

**`getUTCFullYear()`** メソッドは、協定世界時に基づき、指定された日時の「年」を返します。

試してみましょう
--------

構文
--


```js
getUTCFullYear()
```

### 返値

 数値です。
 `Date` オブジェクトが有効な日時を表している場合、指定された日時の西暦を世界時で表した整数を返します。
 それ以外の場合は、`Date` オブジェクトが有効な日時を表していなければ `NaN` が返されます。

解説
--

`getUTCFullYear()` が返す値は、 2000 年問題に対応した表記に従う絶対的な値、例えば 1995 などです。

例
-

### getUTCFullYear() の使用

次の例は、現在の年を表す 4 桁の値を変数 `year` に代入します。


```js
const today = new Date();
const year = today.getUTCFullYear();
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getutcfullyear |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getFullYear()`
* `Date.prototype.setFullYear()`
Date.prototype.getTimezoneOffset()
==================================

**`getTimezoneOffset()`** メソッドは、（ホストシステム上における）現在のロケールから協定世界時 (UTC) までのタイムゾーンの差を分単位で返します。

試してみましょう
--------

構文
--


```js
getTimezoneOffset()
```

### 返値

UTC タイムゾーンで評価された日時とローカルタイムゾーンで評価された日時の差を分単位で表したもの。実際のローカルタイムアルゴリズムは実装で定義され、適切なデータがないランタイムでは返値が 0 になることが許容されます。

解説
--

`date.getTimezoneOffset()` は、 `date` が UTC タイムゾーンで評価されたものとローカルタイムゾーンで評価されたものの差を分単位で返します。つまり、（コードがブラウザーでウェブから実行された場合）ブラウザーを使用しているホストシステムのタイムゾーン、あるいは、コードが実行された JavaScript ランタイム（例えば Node.js 環境） のホストシステムのタイムゾーンです。

### 負の値と正の値

getTimezoneOffset()`が返す分の値は、ローカルのタイムゾーンが UTC よりも後の場合は正の値、先の場合は負の値になります。例えば、UTC+10 の場合、`-600` を返します。

| 現在のタイムゾーン | 返値 |
| --- | --- |
| UTC-8 | 480 |
| UTC | 0 |
| UTC+3 | -180 |

### 夏時間適用地域で変化する結果

毎年夏時間に移行する地域では、 `date` が変化すると、 `getTimezoneOffset()` を呼び出して返される分の値が一定でなくなる可能性があります。

**メモ:** `getTimezoneOffset()` の動作は、コードが実行された時間によって変わることはありません。同じ地域で実行した場合の動作は、常に一定です。結果に影響を与えるのは `date` の値のみです。

ほとんどの実装では、 IANA time zone database (tzdata) を使用して `date` の瞬間のローカルタイムゾーンのオフセットを正確に決定しています。しかし、そのような情報が得られない場合、実装は 0 を返すかもしれません。

例
-

### getTimezoneOffset() の使用


```js
// 現在の時刻を表す Date インスタンスを作成する
const currentLocalDate = new Date();
// 2016 年 5 月 1 日 03:24 GMT-0200 の Date インスタンスを作成する
const laborDay2016at0324GMTminus2 = new Date("2016-05-01T03:24:00-02:00");
currentLocalDate.getTimezoneOffset() ===
  laborDay2016at0324GMTminus2.getTimezoneOffset();
// 夏時間に毎年移行しないタイムゾーンでは常に true となります。
// 毎年夏時間に移行するあらゆるタイムゾーンは、 false になることがあります。
```

### getTimezoneOffset() と夏時間

夏時間が使用されている地域では、 `date` がある時期によって返値が変わることがあります。下記は、タイムゾーンが UTC-05:00 であるニューヨークでの実行時の出力結果です。


```js
const nyOffsetSummer = new Date("2022-02-01").getTimezoneOffset(); // 300
const nyOffsetWinter = new Date("2022-08-01").getTimezoneOffset(); // 240
```

### getTimezoneOffset() と歴史的なデータ

歴史的な理由により、ある地域が属するタイムゾーンが、夏時間によらなくても変化していることがあります。例えば、下記はタイムゾーンが UTC+08:00 である上海での実行時の出力です。


```js
const shModernOffset = new Date("2022-01-27").getTimezoneOffset(); // -480
const shHistoricalOffset = new Date("1943-01-27").getTimezoneOffset(); // -540
```


これは、日中戦争中で上海が日本の統制下にあった時、日本に合わせてタイムゾーンを UTC+09:00 に変更しており（実質的には「通年夏時間」）、そのことが IANA データベースに記録されていたためです。

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.gettimezoneoffset |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date`
Date.prototype.getTime()
========================

**`getTime()`** メソッドは、 ECMAScript 元期からの経過ミリ秒数を返します。

このメソッドは、日付と時刻を別の `Date` オブジェクトへ代入する助けとして使用できます。このメソッドは、`valueOf()` メソッドと機能的に同等です。

試してみましょう
--------

構文
--


```js
getTime()
```

### 返値

1970 年 1 月 1 日 00:00:00 UTC から指定した日時までの経過時間をミリ秒で表した数値。

時刻の低精度化
-------

ブラウザーの設定によっては、タイミング攻撃とフィンガープリンティングに対する保護を提供するために `new Date().getTime()` の精度が落とされていることがあります。 Firefox では、`privacy.reduceTimerPrecision` が既定で有効になっています。既定値は Firefox 59 では 20 マイクロ秒で、 Firefox 60 では 2 ミリ秒です。


```js
// Firefox 60 での時刻の精度の低下（2 ミリ秒）
new Date().getTime();
// 1519211809934
// 1519211810362
// 1519211811670
// …

// `privacy.resistFingerprinting` が有効な場合の時刻の精度の低下
new Date().getTime();
// 1519129853500
// 1519129858900
// 1519129864400
// …
```


Firefox では、 `privacy.resistFingerprinting` も有効にできます。この場合、精度は 100 ミリ秒と `privacy.resistFingerprinting.reduceTimerPrecision.microseconds` 値のうち大きい方になります。

例
-

### getTime() を使って日付をコピーする

同一の time 値を持つ date オブジェクトを構築します。


```js
// month は 0 を基点とするため、birthday は 1995 年 1 月 10 日になります
const birthday = new Date(1994, 12, 10);
const copy = new Date();
copy.setTime(birthday.getTime());
```

### 実行時間を計測する

新たに生成された `Date` オブジェクトでの、続く 2 個の `getTime()` の結果を減算して、これらの呼び出しと呼び出しの間の時間を得ます。これは、何らかの命令の実行時間を計測するために使用できます。不要な `Date` オブジェクトのインスタンス化を避けるため、`Date.now()` も参照してください。


```js
let end, start;

start = new Date();
for (let i = 0; i < 1000; i++) {
  Math.sqrt(i);
}
end = new Date();

console.log(`Operation took ${end.getTime() - start.getTime()} msec`);
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.gettime |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.setTime()`
* `Date.prototype.valueOf()`
* `Date.now()`
Date.UTC()
==========

**`Date.UTC()`** メソッドは、コンストラクターと同じ最も長い書式の引数を受け入れ、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間を表す `Date` オブジェクトのミリ秒単位の数値を返します。

試してみましょう
--------

構文
--


```js
Date.UTC(year)
Date.UTC(year, month)
Date.UTC(year, month, day)
Date.UTC(year, month, day, hour)
Date.UTC(year, month, day, hour, minute)
Date.UTC(year, month, day, hour, minute, second)
Date.UTC(year, month, day, hour, minute, second, millisecond)
```


`year`

整数値で、年を表します。

`0` から `99` までの値は `1900` から `1999` までに対応付けられます。それ以外の値はすべて、実際の年を表します。
 例を参照してください。


`month` 省略可

`0` (1 月) から `11` (12 月) までの整数値で、月を表します。 ECMAScript 2017 以降では、省略時の既定値は `0` です。 *（ECMAScript 2016 までは、 `month` は必須の引数でした。 ES2017 では必須ではなくなりました。*

`day` 省略可

「日」を表す `1` から `31` までの整数値。省略された場合の既定値は `1` です。

`hour` 省略可

「時」を表す `0` から `23` までの整数値。省略された場合の既定値は `0` です。

`minute` 省略可

「分」を表す `0` から `59` までの整数値。省略された場合の既定値は `0` です。

`second` 省略可

「秒」を表す `0` から `59` までの整数値。省略された場合の既定値は `0` です。

`millisecond` 省略可

「ミリ秒」を表す `0` から `999` までの整数値。省略された場合の既定値は `0` です。

### 返値

協定世界時 (UTC) の 1970 年 1 月 1 日 00:00:00 から指定された日時までの経過時間を表すミリ秒単位の数値です。

解説
--

`UTC()` はカンマ区切りの日時の引数を取り、世界時の 1970 年 1 月 1 日 00:00:00 から指定した日時までの経過時間を表すミリ秒単位の数値を返します。

`0` から `99` までの年は、 20 世紀の年 `(1900 + year)` に変換されます。例えば、 `95` は 1995 年に変換されます。

この `UTC()` メソッドは `Date` コンストラクターと 2 つの点で異なります。

1. `Date.UTC()` は地方時ではなく、協定世界時を用います。
2. `Date.UTC()` は `Date` オブジェクトを生成せず、時刻値を整数で返します。

引数が日時に期待される範囲を超えている場合、 `UTC()` メソッドは指定した値を受け入れるよう他の引数を更新します。例えば `15` が `month` に使用された場合、年が 1 つ増加し `(year + 1)`、月には `3` が使われます。

`UTC()` は `Date` の静的メソッドなので、 `Date` インスタンスのメソッドとしてではなく、常に `Date.UTC()` のように使用してください。

例
-

### Date.UTC の使用

以下の文では、地方時の代わりに UTC を用いて `Date` オブジェクトを生成します。


```js
const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0));
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.utc |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### 互換性メモ

#### Date.UTC() の引数が 2 つ未満であった場合

`Date.UTC()` の引数が 2 つ未満の場合、 ECMAScript 2017 では `NaN` を返すよう要求しています。この動作に対応していなかったエンジンも対応済みです (bug 1050755, ecma-262 #642 を参照)。


```js
Date.UTC();
Date.UTC(1);

// Safari: NaN
// Chrome/Opera/V8: NaN

// Firefox <54: non-NaN
// Firefox 54+: NaN

// IE: non-NaN
// Edge: NaN
```

関連情報
----

* `Date.parse()`
* `Date`
Date.prototype.setTime()
========================

**`setTime()`** メソッドは、`Date` オブジェクトを協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間をミリ秒単位で表す時刻に設定します。

試してみましょう
--------

構文
--


```js
setTime(timeValue)
```

### 引数

`timeValue`

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間をミリ秒単位で表す整数値。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値 (更新された日時は、引数の値になります)。

解説
--

`setTime()` メソッドは、日付と時刻を別の `Date` オブジェクトに代入するのに役立ちます。

例
-

### setTime() の使用


```js
const theBigDay = new Date("July 1, 1999");
const sameAsBigDay = new Date();
sameAsBigDay.setTime(theBigDay.getTime());
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.settime |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getTime()`
* `Date.prototype.setUTCHours()`
Date.prototype.getMilliseconds()
================================

**`getMilliseconds()`** メソッドは、地方時に基づき、指定された日時の「ミリ秒」を返します。

試してみましょう
--------

構文
--


```js
getMilliseconds()
```

### 返値

地方時に基づき、指定された日時の「ミリ秒」を表す 0 から 999 までの間の数値。

例
-

### getMilliseconds() の使用

次の例は、現在時刻のミリ秒部を変数 `milliseconds` に代入します。


```js
const today = new Date();
const milliseconds = today.getMilliseconds();
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getmilliseconds |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCMilliseconds()`
* `Date.prototype.setMilliseconds()`
Date.prototype.getSeconds()
===========================

**`getSeconds()`** メソッドは、地方時に基づき、指定した日時の「秒」を返します。

試してみましょう
--------

構文
--


```js
getSeconds()
```

### 返値

地方時に基づき、与えた日付の「秒」を表す 0 から 59 までの間の整数値。

例
-

### getSeconds() の使用

以下の 2 行目の文は、`Date` オブジェクトである `xmas95` の値に基づき、変数 `seconds` に 30 という値を代入します。


```js
const xmas95 = new Date("December 25, 1995 23:15:30");
const seconds = xmas95.getSeconds();

console.log(seconds); // 30
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getseconds |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCSeconds()`
* `Date.prototype.setSeconds()`
Date.prototype.getFullYear()
============================

**`getFullYear()`** メソッドは、地方時に基づき、指定された日時の年を返します。

`getYear()` メソッドの代わりに、このメソッドを使用してください。

試してみましょう
--------

構文
--


```js
getFullYear()
```

### 返値

地方時に基づき、与えた日付の年に相当する数値。

解説
--

`getFullYear()` が返す値は絶対的な値です。1000 年から 9999 年までの日付に対して、`getFullYear()` は 1995 のような 4 桁の数字を返します。 2000 年以降の年について正しい値を得るには、この関数を使用してください。

例
-

### getFullYear() の使用

以下の例は、変数 `year` に今年を表す 4 桁の数字を代入します。


```js
const today = new Date();
const year = today.getFullYear();
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getfullyear |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCFullYear()`
* `Date.prototype.setFullYear()`
* `Date.prototype.getYear()`
Date.prototype.setUTCMonth()
============================

**`setUTCMonth()`** メソッドは、協定世界時に基づき、指定された日時の「月」を設定します。

試してみましょう
--------

構文
--


```js
setUTCMonth(monthValue)
setUTCMonth(monthValue, dayValue)
```

### 引数

`monthValue`

1 月から 12 月を表す 0 から 11 までの間の整数値。

`dayValue`

任意。「日」を表す 1 から 31 までの間の整数値。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説
--

`dayValue` 引数を指定しない場合、`getUTCDate()` メソッドから返される値が使われます。

指定した値が期待される日時の範囲外の場合、それに応じて `setUTCMonth()` が `Date` オブジェクトの日付情報の更新を試みます。例えば、`monthValue` に 15 を指定した場合、年に 1 が加算され、月が 3 になります。

例
-

### setUTCMonth() の使用


```js
const theBigDay = new Date();
theBigDay.setUTCMonth(11);
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutcmonth |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCMonth()`
* `Date.prototype.setMonth()`
Date.prototype.toUTCString()
============================

**`toUTCString()`** メソッドは、協定世界時 (UTC) のタイムゾーンに基づき、日付を文字列へ変換します。

rfc7231 と ECMA-262 toUTCString の改訂に基づくと、負の数が可能です。

試してみましょう
--------

構文
--


```js
toUTCString()
```

### 返値

UTC タイムゾーンに基づき、与えられた日付を表す文字列。

解説
--

`toUTCString()` から返される文字列は、 `Www, dd Mmm yyyy hh:mm:ss GMT` の形の文字列です。

| 書式文字列 | 説明 |
| --- | --- |
| `Www` | 曜日、3 文字で表す (例 Sun, Mon, ...) |
| `dd` | 日、必要に応じて先頭に 0 が付いた 2 桁の数字で表す |
| `Mmm` | 月、3 文字で表す (例 Jan, Feb, ...) |
| `yyyy` | 年、必要に応じて先頭に 0 が付いた 4 桁以上の数字で表す |
| `hh` | 時、必要に応じて先頭に 0 が付いた 2 桁の数字で表す |
| `mm` | 分、必要に応じて先頭に 0 が付いた 2 桁の数字で表す |
| `ss` | 秒、必要に応じて先頭に 0 が付いた 2 桁の数字で表す |

例
-

### toUTCString() の使用


```js
const today = new Date("Wed, 14 Jun 2017 00:00:00 PDT");
const UTCstring = today.toUTCString(); // Wed, 14 Jun 2017 07:00:00 GMT
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.toutcstring |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.toLocaleString()`
* `Date.prototype.toDateString()`
* `Date.prototype.toISOString()`
Date.prototype.getHours()
=========================

**`getHours()`** メソッドは、地方時に基づき、指定された日時の「時」を返します。

試してみましょう
--------

構文
--


```js
getHours()
```

### 返値

地方時に基づき、与えた日時の「時」を表す 0 から 23 の間の整数値。

例
-

### getHours() の使用

以下の 2 行目の文は、 `Date` オブジェクトである `xmas95` の値に基づき、23 という値を変数 `hours` に代入します。


```js
const xmas95 = new Date("December 25, 1995 23:15:30");
const hours = xmas95.getHours();

console.log(hours); // 23
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.gethours |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCHours()`
* `Date.prototype.setHours()`
Date.prototype.setUTCMinutes()
==============================

**`setUTCMinutes()`** メソッドは、協定世界時に基づき、指定された日時の「分」を設定します。

試してみましょう
--------

構文
--


```js
setUTCMinutes(minutesValue)
setUTCMinutes(minutesValue, secondsValue)
setUTCMinutes(minutesValue, secondsValue, msValue)
```

### 引数

`minutesValue`

「分」を表す 0 から 59 までの間の整数値。

`secondsValue`

任意。「秒」を表す 0 から 59 までの間の整数値。`secondsValue` 引数を指定した場合、`minutesValue` も指定しなければなりません。

`msValue`

任意。ミリ秒を表す 0 から 999 までの間の整数値。`msValue` 引数を指定した場合、`minutesValue` と `secondsValue` も指定しなければなりません。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説
--

`secondsValue` および `msValue` 引数を指定しない場合、`getUTCSeconds()` と `getUTCMilliseconds()` メソッドから返される値が使われます。

指定した値が期待される日時の範囲外の場合、それに応じて `setUTCMinutes()` が `Date` オブジェクトの日付情報の更新を試みます。例えば、`secondsValue` に 100 を指定した場合、分に 1 が加算 (`minutesValue + 1`) され、秒が 40 になります。

例
-

### setUTCMinutes() の使用


```js
const theBigDay = new Date();
theBigDay.setUTCMinutes(43);
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setutcminutes |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getUTCMinutes()`
* `Date.prototype.setMinutes()`
Date.prototype.toISOString()
============================

**`toISOString()`** メソッドは、*簡潔な*拡張表記の ISO 形式 (ISO 8601) の文字列を返します。これは、常に 24 文字または 27 文字の長さになります（それぞれ、`YYYY-MM-DDTHH:mm:ss.sssZ` または `±YYYYYY-MM-DDTHH:mm:ss.sssZ`）。タイムゾーンは常に 0 UTC オフセットになり、接尾辞 `Z` で表記されます。

試してみましょう
--------

構文
--


```js
toISOString()
```

### 返値

協定世界時に基づき、与えられた日付を ISO 8601 形式で表す文字列。 `Date.parse()` で認識するために必要な形式と同じ形式です。

例
-

### toISOString() の使用


```js
const today = new Date("05 October 2011 14:48 UTC");

console.log(today.toISOString()); // 2011-10-05T14:48:00.000Z を返す
```


上記の例は、Mozilla 以外のブラウザーでは正しく解析されない、非標準の文字列値を解析するのに使います。

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.toisostring |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.toLocaleDateString()`
* `Date.prototype.toTimeString()`
* `Date.prototype.toUTCString()`
* ポリフィル
Date.prototype.setMilliseconds()
================================

**`setMilliseconds()`** メソッドは、地方時に基づき、指定された日時の「ミリ秒」を設定します。

試してみましょう
--------

構文
--


```js
setMilliseconds(millisecondsValue)
```

### 引数

`millisecondsValue`

「ミリ秒」を表す 0 から 999 までの間の整数値。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説
--

指定した値が期待される日付の範囲外の場合、それに応じて `Date` オブジェクトの日付情報の更新を試みます。例えば、1005 を指定した場合、秒の数値が 1 加算され、ミリ秒に 5 が使用されます。

例
-

### setMilliseconds() の使用


```js
const theBigDay = new Date();
theBigDay.setMilliseconds(100);
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setmilliseconds |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getMilliseconds()`
* `Date.prototype.setUTCMilliseconds()`
Date.prototype.getYear()
========================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

**`getYear()`** メソッドは、地方時に基づき、指定された日付の「年」を返します。`getYear()` は完全な桁数の値を返さないため（いわゆる「2000 年問題」）、使用されなくなり、`getFullYear()` メソッドに置き換えられました。

構文
--


```js
getYear()
```

### 返値

地方時に基づき、与えられた日付の「年」を表す数値から 1900 を引いたものを返します。

解説
--

* 2000 年以降の年について、`getYear()` が返す値は 100 以上です。例えば、 2026 年の場合、`getYear()` は 126 を返します。
* 1900 年から 1999 年について、`getYear()` が返す値は 0 から 99 の間です。例えば、 1976 年の場合、`getYear()` は 76 を返します。
* 1900 年以前の年について、`getYear()` が返す値は 0 未満です。例えば、 1800 年の場合、`getYear()` は -100 を返します。

2000 年以前と以降に対処するため、`getYear()` の代わりに、完全な桁数の値を返す `getFullYear()` を使用してください。

後方互換性
-----

### JavaScript 1.2 以前の動作

`getYear()` メソッドは、2 桁または 4 桁の年を返します。

* 1900 年から 1999 年の間の場合、`getYear()` が返す値は、year - 1900 です。例えば 1976 年の場合、戻り値は 76 です。
* 1900 年より前または 1999 年より後の場合、`getYear()` が返す値は 4 桁の年です。例えば、1856 年の場合、戻り値は 1856 です。2026 年の場合、戻り値は 2026 です。
例
-

### 1900 年から 1999 年の間の年

2 行目の文は、変数 `year` に 95 を代入します。


```js
const xmas = new Date("December 25, 1995 23:15:00");
const year = xmas.getYear(); // 95 を返す
```

### 1999 年より後の年

2 行目の文は、変数 `year` に 100 を代入します。


```js
const xmas = new Date("December 25, 2000 23:15:00");
const year = xmas.getYear(); // 100 を返す
```

### 1900 年より前の年

2 行目の文は、変数 `year` に -100 を代入します。


```js
const xmas = new Date("December 25, 1800 23:15:00");
const year = xmas.getYear(); // -100 を返す
```

### 1900 年から 1999 年の間の年の設定または取得

3 行目の文は、変数 `year` に 1995 年を表す 95 を代入します。


```js
const xmas = new Date("December 25, 2015 23:15:00");
xmas.setYear(95);
const year = xmas.getYear(); // 95 を返す
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getyear |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getYear` のポリフィル (`core-js`)
* `Date.prototype.getFullYear()`
* `Date.prototype.getUTCFullYear()`
* `Date.prototype.setYear()`
Date.prototype.getUTCSeconds()
==============================

**`getUTCSeconds()`** メソッドは、協定世界時に基づき、指定された日時の「秒」を返します。

試してみましょう
--------

構文
--


```js
getUTCSeconds()
```

### 返値

 数値です。
 もし `Date` オブジェクトが有効な日時を表している場合は、0 から 59 までの整数で、指定された日時の世界時での秒の値を表します。
 それ以外の場合は、`Date` オブジェクトが有効な日時を表していなければ `NaN` が返されます。

例
-

### getUTCSeconds() の使用

次の例は、現在日時の「秒」部を変数 `seconds` に代入します。


```js
const today = new Date();
const seconds = today.getUTCSeconds();
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.getutcseconds |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getSeconds()`
* `Date.prototype.setUTCSeconds()`
Date.prototype.setMonth()
=========================

**`setMonth()`** メソッドは、現在設定されている年に基づき、指定された日付の「月」を設定します。

試してみましょう
--------

構文
--


```js
setMonth(monthValue)
setMonth(monthValue, dayValue)
```

### 引数

`monthValue`

0 から始まる整数値で、年の始まりからの月のオフセットを表します。そのため、0 は 1 月を表し、 11 は 12 月を表し、 12 は次の年の 1 月を表します。

`dayValue`

任意。「日」を表す 1 から 31 までの間の整数値。

### 返値

協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 から更新された日時までの間のミリ秒単位の数値。

解説
--

`dayValue` 引数を指定しなかった場合、`getDate()` メソッドから返される値が使われます。

指定した値が期待される日付の範囲外の場合、それに応じて `setMonth()` が `Date` オブジェクトの日付情報の更新を試みます。例えば、`monthValue` に 15 を指定した場合、年に 1 が加算され、月が 3 になります。

このメソッドの動作は、ある特定の月の日にちに影響を与えます。概念上は、その月の日数を、引数として与えた新しい月の初日に加え、新しい日付を返します。例えば、現在の値が 2016 年 8 月 31 日である場合、1 を引数として setMonth を呼び出すと 2016 年 3 月 2 日が返ってきます。これは、2016 年の 2 月が 29 日間しかないからです。

例
-

### setMonth() の使用


```js
const theBigDay = new Date();
theBigDay.setMonth(6);

//Watch out for end of month transitions
const endOfMonth = new Date(2016, 7, 31);
endOfMonth.setMonth(1);
console.log(endOfMonth); //Wed Mar 02 2016 00:00:00
```

仕様書
---

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.setmonth |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Date.prototype.getMonth()`
* `Date.prototype.setUTCMonth()`