日期
描述
纪元、时间戳和无效日期
console.log(new Date(8.64e15).toString());// “9月13日星期六275760 00:00:00 GMT+0000(协调世界时)” console.log(new Date(8.64e15+1).toString());// “无效日期”
您可以使用 获取时间() 和 设置时间() 方法。 这个 值() 和 [Symbol.to Primitive]() (通过时 “数字” )方法-自动调用 数字强制 -返回时间戳,导致 日期 对象的行为与在数字上下文中使用时的时间戳类似。 所有静态方法( 日期.now() , 日期.parse() 、和 日期。 UTC() )返回时间戳,而不是 日期 物体。 这个 日期() 构造函数可以用时间戳作为唯一的参数来调用。
日期组件和时区
作为UTC时间,现在是1970年1月1日凌晨,UTC, 作为纽约当地时间(UTC-5),现在是1969年12月31日19:00。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
日期时间字符串格式
YYYY-MM-DDTH:MM:ss.sssZ年/月/日
YYYY年 是年份,有四位数( 0000 到 9999 ),或作为 扩展年 属于 + 或 - 后跟六位数字。 扩展年份需要该标志。 -000000 被明确禁止作为有效年份。 MM(毫米) 是月份,有两位数( 01 到 12 ). 默认为 01 . 尽职调查 是月份的第几天,有两位数( 01 到 31 ). 默认为 01 . 吨 是一个文字字符,指示 时间 字符串的一部分 吨 指定时间部分时是必需的。 HH(小时) 是小时,有两位数( 00 到 23 ). 作为特殊情况, 24:00:00 是允许的,并被解释为第二天开始时的午夜。 默认为 00 . 毫米 是分钟,有两位数( 00 到 59 ). 默认为 00 . 不锈钢 是第二个,有两个数字( 00 到 59 ). 默认为 00 . 不锈钢 是毫秒,有三位数字( 000 到 999 ). 默认为 000 . Z 是时区偏移量,可以是文本字符 Z (表示UTC),或 + 或 - 然后 HH:mm ,与UTC的偏移量(以小时和分钟为单位)。
日期格式: YYYY年 , 年月日 , 年-月-日 日期时间格式:上述日期格式之一,后跟 吨 ,后面是 HH:mm , 高:毫米:秒 ,或 HH:mm:ss.ss(高高:毫米:秒) 。每个组合后面都可以跟一个时区偏移量。
设置日期格式的其他方法
到ISOString() 返回格式为的字符串 1970-01-01T00:00:00.000Z (上面介绍的日期时间字符串格式,经过简化 ISO 8601标准 ). 到JSON() 电话 到ISOString() 并返回结果。 toString() 返回格式为的字符串 1970年1月1日星期四00:00:00 GMT+0000(协调世界时) ,同时 toDateString() 和 toTimeString() 分别返回字符串的日期和时间部分。 [Symbol.to Primitive]() (通过时 “字符串” 或 “默认” )呼叫 toString() 并返回结果。 toUTC字符串() 返回格式为的字符串 1970年1月1日星期四00:00:00 GMT (广义的 射频7231 ). toLocaleDateString() , toLocaleTimeString() 、和 到本地字符串() 使用特定于地区的日期和时间格式,通常由 国际 应用程序编程接口。
施工单位
日期() -
当作为构造函数调用时,返回一个新的 日期 对象。 当作为函数调用时,返回当前日期和时间的字符串表示形式。
静态方法
日期.now() -
返回与当前时间(自1970年1月1日00:00:00 UTC以来的毫秒数)相对应的数值,忽略闰秒。 日期.parse() -
分析日期的字符串表示形式,并返回自1970年1月1日00:00:00 UTC以来的毫秒数,忽略闰秒。 日期。 UTC() -
接受与构造函数最长形式相同的参数(即2到7),并返回自1970年1月1日00:00:00 UTC以来的毫秒数,忽略闰秒。
实例属性
实例方法
Date.prototype.getDate() -
返回月份的第几天( 1 – 31 )根据当地时间指定日期。 日期.原型.获取日期() -
返回星期几( 0 – 6 )根据当地时间指定日期。 日期.prototype.getFullYear() -
根据当地时间返回指定日期的年份(4位数表示4位数年份)。 Date.prototype.getHours() -
返回小时( 0 – 23 )根据当地时间在指定日期内。 日期.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以来的毫秒数。 (以前的时间返回负值。) Date.prototype.getTimezoneOffset() -
返回当前区域设置的时区偏移量(以分钟为单位)。 日期.prototype.getUTCDate() -
返回月份的日期( 1 – 31 )按照国际时间在指定日期内。 日期.prototype.getUTCDay() -
返回星期几( 0 – 6 )按照国际时间在指定日期内。 日期.原型.getUTCFullYear() -
根据通用时间返回指定日期中的年份(4位数表示4位数年份)。 Date.prototype.getUTCHours() -
返回小时数( 0 – 23 )根据国际时间在指定日期内。 日期.prototype.getUTCMilliseconds() -
返回毫秒( 0 – 999 )按照世界时间在指定的日期。 日期.prototype.getUTCMinutes() -
返回分钟数( 0 – 59 )按照国际时间在指定日期内。 日期.原型.getUTCMonth() -
返回月份( 0 – 11 )按照国际时间在指定日期内。 日期.prototype.getUTCSeconds() -
返回秒数( 0 – 59 )按照国际时间在指定日期内。 Date.prototype.getYear() 已弃用 -
根据当地时间返回指定日期中的年份(通常为2–3位数字)。 使用 获取完整年() 而不是。 Date.prototype.setDate() -
根据当地时间设置指定日期的月份日期。 日期.prototype.setFullYear() -
根据当地时间设置指定日期的完整年份(例如,4位数年份为4位数)。 日期.prototype.setHours() -
根据本地时间设置指定日期的小时数。 日期.prototype.setMilliseconds() -
根据本地时间设置指定日期的毫秒数。 日期.prototype.setMinutes() -
根据本地时间设置指定日期的分钟数。 Date.prototype.setMonth() -
根据本地时间设置指定日期的月份。 日期.prototype.setSeconds() -
根据本地时间设置指定日期的秒数。 日期.prototype.setTime() -
设置 日期 对象设置为自1970年1月1日00:00:00 UTC以来的毫秒数。 之前的时间使用负数。 日期.原型.设置UTCDate() -
根据通用时间设置指定日期的月份日期。 日期.原型.setUTCFullYear() -
根据国际时间设置指定日期的完整年份(例如,4位数年份为4位数)。 日期.prototype.setUTCHours() -
根据通用时间设置指定日期的小时。 日期.prototype.setUTCMilliseconds() -
根据通用时间设置指定日期的毫秒数。 日期.prototype.setUTCMinutes() -
根据世界时间设置指定日期的分钟数。 日期.原型.setUTCMonth() -
根据通用时间设置指定日期的月份。 日期.prototype.setUTCSeconds() -
根据世界时间设置指定日期的秒数。 日期.prototype.setYear() 已弃用 -
根据当地时间设置指定日期的年份(通常为2–3位数字)。 使用 setFullYear() 而不是。 Date.prototype.toDateString() -
返回 日期 作为一个人类可读的字符串,如 ‘2018年4月12日星期四’ . Date.prototype.toISOString() -
将日期转换为遵循ISO 8601扩展格式的字符串。 日期.prototype.toJSON() -
返回表示 日期 使用 到ISOString() .拟由使用 JSON.stringify() . Date.prototype.toLocaleDateString() -
根据系统设置返回一个字符串,其中包含此日期的日期部分的区域敏感表示形式。 日期.原型.toLocaleString() -
返回具有此日期的位置敏感表示形式的字符串。 覆盖 Object.prototype.toLocaleString() 方法。 Date.prototype.toLocaleTimeString() -
根据系统设置返回一个字符串,其中包含此日期时间部分的位置敏感表示形式。 Date.prototype.toString() -
返回表示指定 日期 对象。 覆盖 Object.prototype.toString() 方法。 Date.prototype.toTimeString() -
返回 日期 作为人类可读的字符串。 日期.原型.toUTCString() -
使用UTC时区将日期转换为字符串。 日期.原型.valueOf() -
返回 日期 对象。 覆盖 Object.prototype.valueOf() 方法。 日期原型[Symbol.toPrimitive]() -
转换此 日期 对象设置为原语值。
示例
创建Date对象的几种方法
const today=new Date(); const生日=新日期(“1995年12月17日03:24:00”);// DISCOURAGED:可能无法在所有运行时工作 const birthday2=新日期(“1995-12-17T03:24:00”);// 这是标准化的,工作可靠 const birthday3=新日期(1995年11月17日);// 月份为0索引 const birthday4=新日期(1995,11,17,3,24,0); const birthday5=新日期(628021800000);// 传递epoch时间戳
toString方法返回值的格式
const date=new date(“2020-05-12T23:50:21.817Z”); date.toString();// 2020年5月12日星期二18:50:21 GMT-0500(中部夏时制) date.toDateString();// 2020年5月12日星期二 date.toTimeString();// 18:50:21 GMT-0500(中部夏时制) 日期[Symbol.toPrimitive](“字符串”);// 2020年5月12日星期二18:50:21 GMT-0500(中部夏时制) date.toISOString();// 2020-05-12T23:50:21.817Z date.toJSON();// 2020-05-12T23:50:21.817Z 日期.toUTCString();// 2020年5月12日星期二23:50:21 GMT date.toLocaleString();// 2020年5月12日下午6:50:21 date.toLocaleDateString();// 5/12/2020 date.toLocaleTimeString();// 下午6:50:21
获取日期、月份和年份或时间
const date=新日期(“2000-01-17T16:45:30”); 常量[month,day,year]=[ date.getMonth(), date.getDate(), date.getFullYear(), ]; //[0,17,2000]作为月份的0索引 const[小时,分钟,秒]=[ date.getHours(), date.getMinutes(), date.getSeconds(), ]; // [16, 45, 30]
两位数年份的解释
let date=新日期(98,1);// 1998年2月1日星期日00:00:00 GMT+0000(GMT) date=新日期(22,1);// 1922年2月1日星期三00:00:00 GMT+0000(GMT) date=新日期(“2/1/22”);// 2022年2月1日星期二00:00:00 GMT+0000(GMT) //遗留方法; 总是将两位数的年份值解释为相对于1900 date.setYear(98); date.toString();// 1998年2月1日星期日00:00:00 GMT+0000(GMT) date.setYear(22); date.toString();// 1922年2月1日星期三00:00:00 GMT+0000(GMT)
//首选方法; 从不将任何值解释为相对偏移, //而是使用年份值as-is date.setFullYear(98); date.getFullYear();// 98(非1998) date.setFullYear(22); date.getFullYear();// 22(不是1922年,不是2022年)
计算运行时间
//使用Date对象 const start=日期.now(); //时间事件如下: 为长时间()做某事; const end=日期.now(); const消逝=结束-开始;// 已用时间(毫秒)
//使用内置方法 const start=new Date(); //时间事件如下: 为长时间()做某事; const end=新日期(); const passed=end.getTime()-start.getTime();// 已用时间(毫秒)
//测试函数并返回其返回值 函数printElapsedTime(testFn){ const startTime=日期.now(); 常量结果=testFn(); const endTime=日期.now(); console.log(`Elapsed time:${String(endTime-startTime)}毫秒`); 返回结果; } const yourFunctionReturn=打印已用时间(yourFuction);