`Date.prototype` 属性表示`Date`构造函数的原型。

`Date.prototype` 属性的属性特性：
writable | false
enumerable | false
configurable | true

## 描述

`Date`实例继承自`Date.prototype`。可以通过修改构造函数的原型对象来影响 `Date`实例继承的属性和方法。

为了兼容千禧年计算（也即考虑到 2000 年），应该总是指定完整的年份，例如，使用 1998，而不是 98。为了方便以完整的格式指定年份， JavaScript 包含了相应的方法`getFullYear()`，`setFullYear()`， `getUTCFullYear()` 和`setUTCFullYear()`。

从 ECMAScript 6 开始，`Date.prototype`本身就是一个普通的对象。不是`Date`的实例。

## 属性

`Date.prototype.constructor`
  返回创建该实例的函数。默认是`Date`构造函数。

## 方法

### Getter

`Date.prototype.getDate()`
  根据本地时间返回指定日期对象的月份中的第几天（1-31）。
`Date.prototype.getDay()`
  根据本地时间返回指定日期对象的星期中的第几天（0-6）。
`Date.prototype.getFullYear()`
  根据本地时间返回指定日期对象的年份（四位数年份时返回四位数字）。
`Date.prototype.getHours()`
  根据本地时间返回指定日期对象的小时（0-23）。
`Date.prototype.getMilliseconds()`
  根据本地时间返回指定日期对象的毫秒（0-999）。
`Date.prototype.getMinutes()`
  根据本地时间返回指定日期对象的分钟（0-59）。
`Date.prototype.getMonth()`
  根据本地时间返回指定日期对象的月份（0-11）。
`Date.prototype.getSeconds()`
  根据本地时间返回指定日期对象的秒数（0-59）。
`Date.prototype.getTime()`
  返回从1970-1-1 00:00:00 UTC（协调世界时）到该日期经过的毫秒数，对于1970-1-1 00:00:00 UTC之前的时间返回负值。
`Date.prototype.getTimezoneOffset()`
  返回当前时区的时区偏移。
`Date.prototype.getUTCDate()`
  根据世界时返回特定日期对象一个月的第几天（1-31）.
`Date.prototype.getUTCDay()`
  根据世界时返回特定日期对象一个星期的第几天（0-6）.
`Date.prototype.getUTCFullYear()`
  根据世界时返回特定日期对象所在的年份（4位数）.
`Date.prototype.getUTCHours()`
  根据世界时返回特定日期对象当前的小时（0-23）.
`Date.prototype.getUTCMilliseconds()`
  根据世界时返回特定日期对象的毫秒数（0-999）.
`Date.prototype.getUTCMinutes()`
  根据世界时返回特定日期对象的分钟数（0-59）.
`Date.prototype.getUTCMonth()`
  根据世界时返回特定日期对象的月份（0-11）.
`Date.prototype.getUTCSeconds()`
  根据世界时返回特定日期对象的秒数（0-59）.
`Date.prototype.getYear()`
  根据特定日期返回年份 (通常 2-3 位数). 使用 `getFullYear()` .

### Setter

`Date.prototype.setDate()`
  根据本地时间为指定的日期对象设置月份中的第几天。
`Date.prototype.setFullYear()`
  根据本地时间为指定日期对象设置完整年份（四位数年份是四个数字）。
`Date.prototype.setHours()`
  根据本地时间为指定日期对象设置小时数。
`Date.prototype.setMilliseconds()`
  根据本地时间为指定日期对象设置毫秒数。
`Date.prototype.setMinutes()`
  根据本地时间为指定日期对象设置分钟数。
`Date.prototype.setMonth()`
  根据本地时间为指定日期对象设置月份。
`Date.prototype.setSeconds()`
  根据本地时间为指定日期对象设置秒数。
`Date.prototype.setTime()`
  通过指定从 1970-1-1 00:00:00 UTC 开始经过的毫秒数来设置日期对象的时间，对于早于 1970-1-1 00:00:00 UTC的时间可使用负值。
`Date.prototype.setUTCDate()`
  根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
`Date.prototype.setUTCFullYear()`
  根据世界时设置 Date 对象中的年份（四位数字）。
`Date.prototype.setUTCHours()`
  根据世界时设置 Date 对象中的小时 (0 ~ 23)。
`Date.prototype.setUTCMilliseconds()`
  根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
`Date.prototype.setUTCMinutes()`
  根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
`Date.prototype.setUTCMonth()`
  根据世界时设置 Date 对象中的月份 (0 ~ 11)。
`Date.prototype.setUTCSeconds()`
  根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
`Date.prototype.setYear()`
  setYear() 方法用于设置年份。请使用 `setFullYear()` 方法代替。

### Conversion getter

`Date.prototype.toDateString()`
  以人类易读（human-readable）的形式返回该日期对象日期部分的字符串。
`Date.prototype.toISOString()`
  把一个日期转换为符合 ISO 8601 扩展格式的字符串。
`Date.prototype.toJSON()`
  使用 `toISOString()` 返回一个表示该日期的字符串。为了在 `JSON.stringify()` 方法中使用。
`Date.prototype.toGMTString()`
  返回一个基于 GMT (UT) 时区的字符串来表示该日期。请使用 `toUTCString()` 方法代替。
`Date.prototype.toLocaleDateString()`
  返回一个表示该日期对象日期部分的字符串，该字符串格式与系统设置的地区关联（locality sensitive）。
`Date.prototype.toLocaleFormat()`
  使用格式字符串将日期转换为字符串。
`Date.prototype.toLocaleString()`
  返回一个表示该日期对象的字符串，该字符串与系统设置的地区关联（locality sensitive）。覆盖了 `Object.prototype.toLocaleString()` 方法。
`Date.prototype.toLocaleTimeString()`
  返回一个表示该日期对象时间部分的字符串，该字符串格式与系统设置的地区关联（locality sensitive）。
`Date.prototype.toSource()`
  返回一个与`Date`等价的原始字符串对象，你可以使用这个值去生成一个新的对象。重写了 `Object.prototype.toSource()` 这个方法。
`Date.prototype.toString()`
  返回一个表示该日期对象的字符串。覆盖了`Object.prototype.toString()` 方法。
`Date.prototype.toTimeString()`
  以人类易读格式返回日期对象时间部分的字符串。
`Date.prototype.toUTCString()`
  把一个日期对象转换为一个以UTC时区计时的字符串。
`Date.prototype.valueOf()`
  返回一个日期对象的原始值。覆盖了 `Object.prototype.valueOf()` 方法。

## 规范

Specification | Status | Comment
--- | --- | ---
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1.
ECMAScript 5.1 (ECMA-262) Date.prototype | Standard |
ECMAScript 2015 (6th Edition, ECMA-262) Date.prototype | Standard |
ECMAScript Latest Draft (ECMA-262) Date.prototype | Draft |

## 浏览器兼容性

The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

Update compatibility data on GitHub

| Desktop | Mobile | Server
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | Safari on iOS | Samsung Internet | Node.js
`prototype` | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 1 Notes Full support 1 Notes Notes Prior to version 41, this has not been an ordinary object as specified in ES2015. | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 Notes Full support 4 Notes Notes Prior to version 41, this has not been an ordinary object as specified in ES2015. | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes | nodejs Full support Yes

### Legend

Full support
  Full support
See implementation notes.
  See implementation notes.