ES6 |日期
ES6 日期定义为自世界标准时间 1970 年 1 月 1 日午夜以来经过的毫秒数。 Date 对象可以由new Date()构造函数创建。在 JavaScript 中,日期和时间都由 Date 对象表示。
构造函数:
- Date() – 为当前时间和日期创建一个日期对象。
var date = new Date(); console.log(date);
- Date(milliseconds) – 创建一个日期对象,其时间等于从 1970 年 1 月 1 日 UTC 开始经过的毫秒数。
var date = new Date(1570991017113); console.log(date);
- Date(datestring) – 使用指定的日期字符串创建一个日期对象,然后自动解析它,就像 Date.parse() 一样。
var date = new Date("2019-10-11"); console.log(date);
- Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]) – 在本地时区创建具有指定日期的日期对象。前两个参数是必需的,其余参数是可选的。
var date = new Date(2019, 0, 11, 15, 45, 55, 55); console.log(date);
特性:
- Date.prototype:它表示Date构造函数的原型。 Date.prototype本身是一个普通对象,而不是Date实例。它允许向 Date 对象添加属性。
- Date.constructor:它返回创建 Date 对象实例的数组函数的引用。
方法:
- Date.now():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
console.log(Date.now()); // 1571060400486 // i.e. number of milliseconds elapsed since January 1, 1970 00:00:00 UTC
- Date.parse():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数,用于提供日期的字符串表示形式。
console.log(Date.parse("2019-10-11")); // 1570800633000
- Date.UTC():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数,以逗号分隔。
console.log(Date.parse("2019, 9, 11")); // 1570800633000
Date.prototype 方法:
- getDate():它从给定的日期对象返回月份的日期。
var d = new Date("2019-10-11"); console.log(d.getDate()); // 11
- getDay():它根据给定日期对象的本地时间返回从 0 到 6 的星期几。
var d = new Date("2019-10-11"); console.log(d.getDay()); // 5 i.e Friday
- getFullYear():它返回给定日期对象的全年。
var d = new Date("2019-10-11"); console.log(d.getFullYear()); // 2019
- getHours():它返回给定日期对象的小时 (0-23)。
var d = new Date("2019-10-11 16:30:33"); console.log(d.getHours()); // 16
- getMilliseconds():根据本地时间返回给定日期对象的毫秒数(0-999)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getMilliseconds()); // 0
- getMinutes():根据本地时间返回给定日期对象的分钟(0-59)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getMinutes()); // 30
- getMonth():它根据本地时间返回给定日期对象的月份(0-11)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getMonth()); // 9
- getSeconds():它根据本地时间返回给定日期对象的秒数(0-59)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getSeconds()); // 33
- getTime():它返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getTime()); // 1570791633000
- getTimezoneOffset():它以分钟为单位返回 UTC 和本地时区之间的差异。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getTimezoneOffset()); // -330
- getUTCDate():它根据给定日期对象的通用时间返回月份中的第几天(1-31)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCDate()); // 11
- getUTCDay():它根据给定日期对象的通用时间返回星期几(0-6)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCDay()); // 5
- getUTCFullYear():根据给定日期对象的通用时间返回年份。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCFullYear()); // 2019
- getUTCHours():根据给定日期对象的通用时间返回小时(0-23)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCHours()); // 11
- getUTCMilliseconds():它根据给定日期对象的通用时间返回毫秒(0-999)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCMilliseconds()); // 0
- getUTCMinutes():它根据给定日期对象的通用时间返回分钟。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCMinutes()); // 0
- getUTCMonth():根据给定日期对象的通用时间返回月份(0-11)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCMonth()); // 9
- getUTCSeconds():根据给定日期对象的通用时间返回秒 (0-59)。
var d = new Date("October 11, 2019 16:30:33"); console.log(d.getUTCSeconds()); // 33
- setDate():用于将月份的日期设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setDate(13); console.log(d.getDate()); // 13
- setFullYear():用于将年份设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setYear(2018); console.log(d.getFullYear()); // 2018
- setHours():用于将小时(0-23)设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setHours(19); console.log(d.getHours()); // 19
- setMilliseconds():用于设置日期对象在本地时间的毫秒数。
var d = new Date("October 11, 2019 16:30:33"); d.setMilliseconds(200); console.log(d.getMilliseconds()); // 200
- setMinutes():用于将分钟(0-59)设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setMinutes(20); console.log(d.getMinutes()); // 20
- setMonth():用于将月份(0-11)设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setMonth(8); console.log(d.getMonth()); // 8
- setSeconds():用于将秒(0-59)设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setSeconds(34); console.log(d.getSeconds()); // 34
- setTime():用于将 UTC 时间 1970 年 1 月 1 日 00:00:00 之后的毫秒设置为本地时间的日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setTime(1570815753000); console.log(d.toDateString()); // "Fri Oct 11 2019"
- setUTCDate():用于根据世界时将月份中的日期(0-11)设置为日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCDate(12); console.log(d.getDate()); // 12
- setUTCFullYear():用于根据通用时间将年份设置为日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCFullYear(2018); console.log(d.getFullYear()); // 2018
- setUTCHours():用于根据通用时间将小时(0-23)设置为日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCHours(16); console.log(d.getHours()); // 21
- setUTCMilliseconds():用于根据通用时间设置日期对象的毫秒数。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCMilliseconds(166); console.log(d.getMilliseconds()); // 166
- setUTCMinutes():用于根据世界时为日期对象设置分钟(0-59)。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCMinutes(22); console.log(d.getMinutes()); // 52
- setUTCMonth():用于根据世界时将月份(0-11)设置为日期对象。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCMonth(8); console.log(d.getMonth()); // 8
- setUTCSeconds():用于根据世界时间设置日期对象的秒数(0-59)。
var d = new Date("October 11, 2019 16:30:33"); d.setUTCSeconds(10); console.log(d.getSeconds()); // 10
日期转换方法:
- toDateString():它返回日期对象的日期部分的字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toDateString()); // "Fri Oct 11 2019"
- toISOString():它使用 ISO 8601 扩展格式返回日期对象的日期部分的字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toISOString()); // "2019-10-11T14:00:33.000Z"
- toJSON():它返回日期对象的日期部分的字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toJSON()); // "2019-10-11T14:00:33.000Z"
- toLocaleDateString():它有两个参数(可选)——语言环境和选项,并根据指定的语言环境返回日期部分的字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toLocaleDateString()); // "10/11/2019" // 10.2019 console.log(d.toLocaleDateString("de-DE", {year:'numeric', month: 'numeric'}))
- toLocaleString():它以语言环境格式返回日期部分的日期对象字符串。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toLocaleString()); // "10/11/2019, 7:30:33 PM"
- toLocaleTimeString():它返回日期对象时间部分的字符串表示。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toLocaleTimeString()); // "7:30:33 PM"
- toString():它返回日期对象的日期字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); // "Fri Oct 11 2019 19:30:33 GMT+0530 (India Standard Time)" console.log(d.toString());
- toTimeString():它返回日期对象时间部分的字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toTimeString()); // "19:30:33 GMT+0530 (India Standard Time)"
- toUTCString():它以通用时区格式返回日期对象的字符串表示形式。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.toUTCString()); // "Fri, 11 Oct 2019 14:00:33 GMT"
- valueOf():它返回从 1970 年 1 月 1 日 00:00:00 UTC 到提供的日期所经过的毫秒数。
var d = new Date(2019, 9, 11, 19, 30, 33); console.log(d.valueOf()); // 1570802433000