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

**`toISOString()`** 方法返回一个 ISO（ISO 8601 Extended Format）格式的字符串： **YYYY-MM-DDTHH:mm:ss.sssZ**。时区总是 UTC（协调世界时），加一个后缀“Z”标识。

尝试一下
----

语法
--
```

dateObj.toISOString()
```

示例
--

### 使用 toISOString()


```js
const d = new Date(0);

console.log(d.toISOString()); // "1970-01-01T00:00:00.000Z"
```

规范
--

| 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.now()
==========

**`Date.now()`** 方法返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数。

尝试一下
----

语法
--
```

var timeInMs = Date.now();
```

### 返回值

一个 `Number`，表示自 UNIX 纪元开始（1970 年 1 月 1 日 00:00:00 (UTC)）到当前时间的毫秒数。

描述
--

因为 `now()` 是 `Date` 的一个静态函数，所以必须以 `Date.now()` 的形式来使用。

时间精度被降低
-------

 为了提供针对定时攻击和指纹追踪的保护，`Date.now()` 的精度可能会根据浏览器的高级设置项目而被取整。
 在 Firefox 中，默认启用 `privacy.reduceTimerPrecision` 设置项，在 Firefox 59 中，默认被取整至 20 微秒；在 Firefox 60 中，则被取整至 2 毫秒。


```js
// reduced time precision (2ms) in Firefox 60
Date.now();
// 1519211809934
// 1519211810362
// 1519211811670
// ...

// reduced time precision with `privacy.resistFingerprinting` enabled
Date.now();
// 1519129853500
// 1519129858900
// 1519129864400
// ...
```


在 Firefox 中，还可以通过启用 `privacy.resistFingerprinting` 来进一步降低精度。启用后，精度将为 100 毫秒或者 `privacy.resistFingerprinting.reduceTimerPrecision.microseconds` 的值，取决于这两个值中哪一个更大，也就是，精度更低一些。

规范
--

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

浏览器兼容性
------

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

参见
--

* `Performance.now()` — 提供了精确到亚毫秒（sub-millisecond）的时间戳，用于衡量网页性能。
* `console.time` / `console.timeEnd`
Date.prototype.setMinutes()
===========================

**`setMinutes()`** 方法根据本地时间为一个日期对象设置分钟数。

尝试一下
----

语法
--
```

dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
```

### JavaScript 1.3 之前版本
```

dateObj.setMinutes(minutesValue)
```

### 参数

`minutesValue`

一个 0 到 59 的整数，表示分钟数。

`secondsValue`

一个 0 到 59 的整数，表示秒数。如果指定了 `secondsValue` 参数，则必须同时指定 `minutesValue` 参数。

`msValue`

一个 0 到 999 的数字，表示微秒数，如果指定了 `msValue` 参数，则必须同时指定 `minutesValue` 和`secondsValue` 参数。

描述
--

如果没有指定 `secondsValue` 和 `msValue` 参数，就会使用 `getSeconds()` 和 `getmilliseconds()` 方法的返回值。

如果有一个指定的参数超出了合理范围，`setMinutes` 会相应地更新日期对象中的时间信息。例如，为 `secondsValue` 指定 100，分钟数将会加 1，而秒数会为 40。

示例
--

### 示例：使用`setMinutes` 方法


```js
var theBigDay = new Date();
theBigDay.setMinutes(45);
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getMinutes()`
* `Date.prototype.setUTCMinutes()`
Date.prototype.getUTCFullYear()
===============================

**`getUTCFullYear()`** 以世界时为标准，返回一个指定的日期对象的年份。

尝试一下
----

语法
--
```

dateObj.getUTCFullYear()
```

### 参数

无。

### 返回值

`getUTCFullYear()` 返回一个绝对数值，符合 Year-2000 标准，例如 1995。

示例
--

### 示例：使用 `getUTCFullYear()` 方法

下面的例子是把当前年份的四位数值复制给变量 `year`。


```js
var today = new Date();
var 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.setYear()
========================

**已弃用:** 不再推荐使用该特性。虽然一些浏览器仍然支持它，但也许已从相关的 web 标准中移除，也许正准备移除或出于兼容性而保留。请尽量不要使用该特性，并更新现有的代码；参见本页面底部的兼容性表格以指导你作出决定。请注意，该特性随时可能无法正常工作。

**`setYear()`** 方法根据一个本地时间为一个确定的日期对象设置年份。由于`setYear()` 并不设置完整年份（"正是千年虫问题"），本方法已经完全被`setFullYear()` 方法所取代。

语法
--
```

dateObj.setYear(yearValue)
```

### 参数

`yearValue`

一个整数。

### 返回值

介于 1970 年 1 月 1 日 00:00:00 UTC 时间与更新后日期的毫秒数。

描述
--

如果`yearValue` 是介于 0 到 99(包含 99) 之间的整数，则目标对象 `dateObj` 的年份被设置为 `1900 + yearValue`。否则，目标对象 `dateObj` 的年份被设置为 `yearValue`.

示例
--

### 使用 `setYear()`

例子前两行（除去声明）将年份设置为 1996。第三行将年份设置为 2000.


```js
var 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.getFullYear()`
* `Date.prototype.getUTCFullYear()`
* `Date.prototype.setFullYear()`
* `Date.prototype.setUTCFullYear()`
Date.prototype.getMilliseconds()
================================

**`getMilliseconds()`** 方法根据本地时间，返回一个指定的日期对象的毫秒数。

尝试一下
----

语法
--


```js
getMilliseconds()
```

### 参数

无

### 描述

`getMilliseconds()` 方法返回一个 0 到 999 的整数。

示例
--

### 示例：使用`getMilliseconds`方法

下例中，将当前时间的毫秒数赋值给变量 `ms`。


```js
var ms;
Today = new Date();
ms = 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.getUTCMinutes()
==============================

**`getUTCMinutes()`** 方法以世界时为标准，返回一个指定的日期对象的分钟数。

尝试一下
----

语法
--
```

dateObj.getUTCMinutes()
```

### 参数

无。

### 返回值

`getUTCMinutes()` 返回一个 0 到 59 的整数。

示例
--

### 示例：使用 `getUTCMinutes()` 方法

下例将当前时间的分钟部分赋值给变量 `minutes`。


```js
var today = new Date();
var minutes = today.getUTCMinutes();
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getMinutes()`
* `Date.prototype.setUTCMinutes()`
Date.prototype.setMonth()
=========================

**`setMonth()`** 方法根据本地时间为一个日期对象设置月份。

尝试一下
----

语法
--
```

dateObj.setMonth(monthValue[, dayValue])
```

### JavaScript 1.3 版本之前
```

dateObj.setMonth(monthValue)
```

### 参数

`monthValue`

介于 0 到 11 之间的整数（表示一月到十二月）。

`dayValue`

从 1 到 31 之间的整数，表示月份中的第几天。0 为上个月最后一天

返回值！

基于 1 January 1970 00:00:00 UTC 开始计算的毫秒数

描述
--

如果不指定 `dayValue` 参数，就会使用 `getDate` 方法的返回值。

如果有一个指定的参数超出了合理范围，`setMonth` 会相应地更新日期对象中的日期信息。例如，为 `monthValue` 指定 15，则年份会加 1，月份将会使用 3。

示例
--

### 示例：使用 `setMonth` 方法


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

规范
--

| 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()`
Date.prototype.getUTCDate()
===========================

**`getUTCDate()`** 方法以世界时为标准，返回一个指定的日期对象为一个月中的第几天

尝试一下
----

语法
--
```

dateObj.getUTCDate()
```

### 参数

无

### 返回值

`getUTCDate()` 返回一个 1 到 31 的整数值

示例
--

### 示例：使用 `getUTCDate()` 方法

下面的例子是把当前日期的天数部分赋值给变量 `day`.


```js
var today = new Date();
var day = today.getUTCDate();
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getDate()`
* `Date.prototype.getUTCDay()`
* `Date.prototype.setUTCDate()`
Date.prototype[@@toPrimitive]
=============================

**`[@@toPrimitive]()`** 方法可以转换一个 `Date` 对象到一个原始值。

用法
--
```

Date()[Symbol.toPrimitive](hint);
```

### 返回值

给出的 `Date` 的原始值。根据传入参数的不同，可以返回 string 或 number 类型。

说明
--

`Date` 对象的 `[@@toPrimitive]()` 方法可以返回一个原始值，或是 string，或是 number。

如果 `hint` 是 `"string"` 或 `"default"`，`[@@toPrimitive]()` 将会调用 `toString`。如果 `toString` 属性不存在，则调用 `valueOf`。如果 `valueOf` 也不存在，则抛出一个`TypeError`。

如果 `hint` 是 `"number"`，`[@@toPrimitive]()` 会首先尝试 `valueOf`，若失败再尝试 `toString`。

当期望一个原始值却收到一个对象时，JavaScript 可以自动的调用 `[@@toPrimitive]()` 方法来将一个对象转化成原始值，所以你很少会需要自己调用这个方法。

Specifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype-@@toprimitive |

Browser compatibility
---------------------

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

See also
--------

* `Symbol.toPrimitive`
Date.prototype.setMilliseconds()
================================

`Date` 实例的 **`setMilliseconds()`** 方法会根据本地时间设置一个日期对象的毫秒数。

尝试一下
----

语法
--


```js
setMilliseconds(millisecondsValue)
```

### 参数

`millisecondsValue`

一个在 0 到 999 之间的整数，表示毫秒数。

### 返回值

原地更改 `Date` 对象，并返回新的时间戳。如果 `millisecondsValue` 是 `NaN`（或任何其他经强制转换后得到 `NaN` 的值，如 `undefined`），日期会被设置为无效日期，并返回 `NaN`。

描述
--

如果指定的数字超出了合理范围，则 `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.setUTCHours()
============================

The **`setUTCHours()`** method sets the hour for a specified date according to universal time, and returns the number of milliseconds since 1 January 1970 00:00:00 UTC until the time represented by the updated `Date` instance.

尝试一下
----

Syntax
------
```

dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
```

### 参数

`hoursValue`

表示小时的整数，取值 0 到 23 之间。

`minutesValue`

可选参数。表示分钟的整数，取值 0 到 59 之间。

`secondsValue`

可选参数。表示秒数的整数，取值 0 到 59 之间。如果指定了该参数，就要同时指定 `minutesValue` 这个参数。

`msValue`

可选参数。表示毫秒的整数，取值 0 到 999 之间。如果指定了该参数，就要指定 `minutesValue` 和 `secondsValue` 这两个参数。

### 返回值

返回从 1970-01-01 00:00:00 UTC 到更新后的日期所表示时间的毫秒数。

描述
--

If you do not specify the `minutesValue`, `secondsValue`, and `msValue` parameters, the values returned from the `getUTCMinutes()`, `getUTCSeconds()`, and `getUTCMilliseconds()` methods are used.

If a parameter you specify is outside of the expected range, `setUTCHours()` attempts to update the date information in the `Date` object accordingly. For example, if you use 100 for `secondsValue`, the minutes will be incremented by 1 (`minutesValue + 1`), and 40 will be used for seconds.

示例
--

### 使用 `setUTCHours()`


```js
var 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.getTime()
========================

**`getTime()`** 方法返回一个时间的格林威治时间数值。

你可以使用这个方法把一个日期时间赋值给另一个`Date` 对象。这个方法的功能和 `valueOf()` 方法一样。

尝试一下
----

语法
--
```

dateObj.getTime()
```

### 参数

无。

### 返回值

`getTime` 方法的返回值一个数值，表示从 1970 年 1 月 1 日 0 时 0 分 0 秒（UTC，即协调世界时）距离该日期对象所代表时间的毫秒数。

示例
--

### 使用 getTime() 复制日期对象

创建一个拥有相同时间值的日期对象。


```js
var birthday = new Date(1991, 9, 17);
var copy = new Date();
copy.setTime(birthday.getTime());
```

### 测量代码执行时间

连续调用两个新生成的日期对象的 getTime 方法，根据两次调用的返回值求得时间差。这可以用于计算某些操作的执行时间。避免生成不必要的`Date`对象另见`Date.now()`


```js
var end, start, i;

start = new Date();
for (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.prototype.setUTCSeconds()
==============================

`此 setUTCSeconds()` 方法为一个依据国际通用时间的特定日期设置秒数。

尝试一下
----

语法
--
```

dateObj.setUTCSeconds(secondsValue[, msValue])
```

### 参数

`secondsValue`

一个在 0 到 59 之间的整数，表示秒数。

`msValue`

可选参数。一个 0 到 999 之间的数字，代表毫秒数。

### 返回值

一个毫秒数，表示从国际通用时间 1970 年 00:00:00 到设置的时间值之间的时间跨度。

描述
--

如果你没有设置 msValue 参数的值，那么返回的值来自`getUTCMilliseconds()` 方法。

如果你指定的值超出了范围，`setUTCSeconds()` 因此会更新`Date` 对象中 date 的相关信息 . 举个例子，如果你设置 secondsValue 为 100, `Date` 对象中的分钟数会增加 1，并且秒数会变成 40.

示例
--

### 使用 `setUTCSeconds()`


```js
var theBigDay = new Date();
theBigDay.setUTCSeconds(20);
```

规范
--

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

浏览器兼容性
------

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

另见
--

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

**`Date.UTC()`** 方法接受的参数同 `Date` 构造函数接受最多参数时一样，但该前者会视它们为 UTC 时间，其返回从 1970 年 1 月 1 日 00:00:00 UTC 到指定时间的毫秒数。

尝试一下
----

语法
--


```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`（一月）到 `11`（十二月）之间的一个整数，表示月份。从 ECMAScript 2017 开始，如果忽略该值，则默认为 `0`。*（直到 ECMAScript 2016，`month` 都是必须的参数。而从 ES2017 开始，它不再是必须的。）*

`date` 可选

`1` 到 `31` 之间的一个整数，表示某月当中的第几天。如果忽略该值，则默认为 `1`。

`hour` 可选

`0` 到 `23` 之间的一个整数，表示小时。如果忽略该值，则默认为 `0`。

`minute` 可选

`0` 到 `59` 之间的一个整数，表示分钟。如果忽略该值，则默认为 `0`。

`second` 可选

`0` 到 `59` 之间的一个整数，表示秒。如果忽略该值，则默认为 `0`。

`millisecond` 可选

`0` 到 `999` 之间的一个整数，表示毫秒。如果忽略该值，则默认为 `0`。

### 返回值

一个数字，表示从 1970 年 1 月 1 日 00:00:00 UTC 到给定时间的毫秒数。

描述
--

`UTC()` 方法接受以逗号隔开的时间参数，返回 1970 年 1 月 1 日 00:00:00 UTC 到指定的时间之间的毫秒数。

如果年份被指定为 `0` 到 `99` 之间，则该方法会将年份转换为 20 世纪的一个年份（即 `1900 + year`），例如，指定为 `95`，则年份为 `1995`。

`UTC()` 方法与 `Date` 构造函数有两点不同：

1. `Date.UTC()` 方法使用协调世界时代替本地时间。
2. `Date.UTC()` 方法返回一个时间数值，而不是一个 `Date` 对象。

如果有一个指定的参数超出其合理范围，则 UTC 方法会通过更新其他参数直到该参数在合理范围内。例如，为月份指定 `15`，则年份将会加 `1`（`year + 1`），然后月份将会使用 `3`。

由于 `UTC()` 是 `Date` 的一个静态方法，所以应该直接调用 `Date.UTC()`，而不要把它作为 `Date` 实例的方法。

示例
--

### 使用 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()

当向 `Date.UTC()` 提供少于两个的参数时，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.toTimeString()
=============================

**`toTimeString()`** 方法以人类易读形式返回一个日期对象时间部分的字符串，该字符串以美式英语格式化。

尝试一下
----

语法
--
```

dateObj.toTimeString()
```

描述
--

`Date` 对象的实例引用一个具体的时间点。调用 `toString` 方法以美式英语和人类易读的形式，返回日期对象的格式化字符串。在 SpiderMonkey 里，该字符串由日期部分（年月日）和其后的时间部分（时分秒和时区）组成。有时会需要获取时间部分的字符串，这可以由 `toTimeString` 方法完成。

The `toTimeString` method is especially useful because compliant engines implementing ECMA-262 (en-US) may differ in the string obtained from `toString` for `Date` objects, as the format is implementation-dependent; simple string slicing approaches may not produce consistent results across multiple engines.

示例
--

### 示例：`toTimeString` 方法的简单使用


```js
var d = new Date(1993, 6, 28, 14, 39, 7);

println(d.toString()); // prints Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
println(d.toTimeString()); // prints 14:39:07 GMT-0600 (PDT)
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.toLocaleTimeString()`
* `Date.prototype.toDateString()`
* `Date.prototype.toString()`
Date.prototype.getDay()
=======================

**`getDay()`** 方法根据本地时间，返回一个具体日期中一周的第几天，0 表示星期天。对于某个月中的第几天，参考`Date.prototype.getDate()`.

尝试一下
----

语法
--


```js
getDay()
```

### 返回值

根据本地时间，返回一个 0 到 6 之间的整数值，代表星期几：0 代表星期日，1 代表星期一，2 代表星期二，依次类推。

示例
--

### 使用`getDay()`

下面第二条语句，基于`Date`对象 `Xmas95` 的值，把 1 赋值给 `weekday`。也就是说 1995 年 12 月 25 日是星期一。


```js
var Xmas95 = new Date("December 25, 1995 23:15:30");
var weekday = Xmas95.getDay();

console.log(weekday); // 1
```


**备注：** 如果需要，可以使用`Intl.DateTimeFormat`与一个额外的`options` 参数，从而返回这天的全称（如`"Monday"`）.使用此方法，结果会更加国际化：


```js
var options = { weekday: "long" };
console.log(new Intl.DateTimeFormat("en-US", options).format(Xmas95));
// Monday
console.log(new Intl.DateTimeFormat("de-DE", options).format(Xmas95));
// Montag
```


规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getUTCDate()`
* `Date.prototype.getUTCDay()`
* `Date.prototype.setDate()`
Date.prototype.setDate()
========================

**`setDate()`** 方法根据本地时间来指定一个日期对象的天数。

尝试一下
----

语法
--
```

dateObj.setDate(dayValue)
```

### 参数

`dayValue`

一个整数，表示该月的第几天。

描述
--

如果 `dayValue` 超出了月份的合理范围，`setDate` 将会相应地更新 `Date` 对象。

例如，如果为 `dayValue` 指定 0，那么日期就会被设置为上个月的最后一天。

如果 dayValue 被设置为负数，日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1 会设置为上月最后一天的前一天（译者注：例如当前为 4 月，如果 setDate(-2),则为 3 月 29 日）

示例
--

### 示例：使用`setDate`方法


```js
var theBigDay = new Date(1962, 6, 7); // 1962-07-07
theBigDay.setDate(24); // 1962-07-24
theBigDay.setDate(32); // 1962-08-01
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getDate()`
* `Date.prototype.setUTCDate()`
Date.prototype.getSeconds()
===========================

**`getSeconds()`** 方法根据本地时间，返回一个指定的日期对象的秒数。

尝试一下
----

语法
--


```js
getSeconds()
```

### 参数

无

### 描述

该方法返回一个 0 到 59 的整数值。

示例
--

### 示例：使用`getSeconds` 方法

下面第二条语句，基于日期对象 `Xmas95` 的值，把 30 赋值给变量 `secs`。


```js
var Xmas95 = new Date("December 25, 1995 23:15:30");
var secs = Xmas95.getSeconds();
```

规范
--

| 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.setFullYear()
============================

**`setFullYear()`** 方法根据本地时间为一个日期对象设置年份。

尝试一下
----

语法
--


```js
dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
```

### 参数

`yearValue`

指定年份的整数值，例如 1995。

`monthValue`

一个 0 到 11 之间的整数值，表示从一月到十二月。

`dayValue`

一个 1 到 31 之间的整数值，表示月份中的第几天。如果你指定了 `dayValue` 参数，就必须同时指定 `monthValue`。

描述
--

如果没有指定 `monthValue` 和`dayValue` 参数，将会使用 `getMonth` 和`getDate` 方法的返回值。

如果有一个参数超出了合理的范围，`setFullYear` 方法会更新其他参数值，日期对象的日期值也会被相应更新。例如，为 `monthValue` 指定 15，则年份会加 1，月份值会为 3。

示例
--

### 示例：使用`setFullYear`方法


```js
var theBigDay = new Date();
theBigDay.setFullYear(1997);
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getUTCFullYear()`
* `Date.prototype.setUTCFullYear()`
* `Date.prototype.setYear()`
Date.prototype.getUTCMonth()
============================

**`getUTCMonth()`** 方法以世界时为标准，返回一个指定的日期对象的月份，它是从 0 开始计数的（0 代表一年的第一个月）。

尝试一下
----

语法
--
```

dateObj.getUTCMonth()
```

### 参数

无。

### 返回值

`getUTCMonth()` 返回一个 0 到 11 的整数，分别对应以下月份：0 代表一月，1 代表二月，2 代表三月，依次类推。

示例
--

### 示例：使用 `getUTCMonth()` 方法

下例将当前时间的月份赋值给变量 `month`。


```js
var today = new Date();
var month = today.getUTCMonth();
```

规范
--

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

浏览器兼容性
------

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

参见
--

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

**`getHours()`** 方法根据本地时间，返回一个指定的日期对象的小时。

尝试一下
----

语法
--


```js
getHours()
```

### 参数

无

### 返回值

`getHours` 返回一个 0 到 23 之间的整数值。

示例
--

### 示例：使用`getHours`方法

下面第二条语句，基于日期对象 `Xmas95` 的值，把 23 赋值给了变量 `hours`。


```js
var Xmas95 = new Date("December 25, 1995 23:15:00");
var hours = Xmas95.getHours();

alert(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()`\*\*方法会根据世界协调时（UTC）来设置指定日期的分钟数。

尝试一下
----

语法
--
```

dateObj.setUTCMinutes(minutesValue[, secondsValue[, msValue]])
```

### 参数

`minutesValue`

必填，表示要设置的分钟数，是一个介于 0 和 59 之间的整数。

`secondsValue`

可选参数，表示要设置的秒数，同样也是一个介于 0 和 59 之间的整数，如果你传入了这个参数，那么你就必须要传入上一个参数（**`minutesValue`**）。

`msValue`

可选参数，表示要设置的毫秒数，这是一个介于 0 和 999 之间的数字，如果你传入了这个参数，那么你就必须要传入前面两个参数（**`minutesValue`**和**`secondsValue`**）。

### 返回值

返回从 UTC 时间 1970 年 1 月 1 日 0 时 0 分 0 秒至设置后的时间的毫秒数。

说明
--

如果你没有传入后两个参数（**`minutesValue`**和**`msValue`**），这两个参数会分别使用`getUTCSeconds()`和`getUTCMilliseconds()`这两个方法返回的值。

如果你传入的参数值在上文所述范围之外的话，**`setUTCMinutes()`**方法会尝试修改日期对象中的其他信息，比如说你为 **`secondsValue`** 这个参数传入了 100（译者注：规定范围是 [0, 59]），那么第一个参数（**`minutesValue`**）就会被加 1，而秒数则变成了 40。

示例
--

### 使用 `setUTCMinutes()`


```js
var 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.setUTCFullYear()
===============================

**`setUTCFullYear()`** 方法根据世界标准时间为一个具体日期设置年份。

尝试一下
----

语法
--
```

dateObj.setUTCFullYear(yearValue[, monthValue[, dayValue]])
```

### 参数

`yearValue`

指定年份整数值，例如，1995

`monthValue`

可选。指定一个 0-11 之间的整数值，代表从一月到十二月。

`dayValue`

可选。指定一个 1-31 之间的整数值，代表月份中的第几天。如果你指定了 dayValue 参数，那么你必须指定 monthValue 参数。

描述
--

如果你没有指定具体的 `monthValue` 和 `dayValue`，将会使用 `getUTCMonth` 和 `getUTCDate` 方法的返回值。

如果你指定的参数超出了期待范围，`setUTCFullYear()` 方法将会根据 `Date` 对象，更新其他参数和日期信息。例如，如果你将 `monthValue` 设定为 `15`，年份会增加 `1`，月份值则为为 `3`。

示例
--

### 使用 `setUTCFullYear()`


```js
var theBigDay = new Date();
theBigDay.setUTCFullYear(1997);
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Date.prototype.getUTCFullYear()`
* `Date.prototype.setFullYear()`
Date.prototype.valueOf()
========================

**`valueOf()`** 方法返回一个 `Date` 对象的原始值。

尝试一下
----

语法
--
```

dateObj.valueOf()
```

### 返回值

从 1970 年 1 月 1 日 0 时 0 分 0 秒（UTC，即协调世界时）到该日期的毫秒数。

描述
--

`valueOf` 方法返回以数值格式表示的一个 `Date` 对象的原始值，从 1970 年 1 月 1 日 0 时 0 分 0 秒（UTC，即协调世界时）到该日期对象所代表时间的毫秒数。

该方法的功能和 `Date.prototype.getTime()` 方法一样。

该方法通常在 JavaScript 内部被调用，而不是在代码中显式调用。

示例
--

### 使用 `valueOf()`


```js
var x = new Date(56, 6, 17);
var myVar = x.valueOf(); // assigns -424713600000 to myVar
```

规范
--

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

浏览器兼容性
------

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

参见
--

* `Object.prototype.valueOf()`
* `Date.prototype.getTime()`