Date

作者: 扶不起的蝌蚪 | 来源:发表于2020-05-14 10:53 被阅读0次

Date类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期

new Date()
不传递参数的情况下,新创建的对象自动获得当前日期和时间

console.log(new Date())
//=>Thu May 14 2020 09:54:56 GMT+0800 (中国标准时间)

new Date(dateString)=Date.parse(dateString)
解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到基于本地非UTC日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN
实际上new Date(dateString)相当于隐式调用了Date.parse(dateString)
支持格式

  • “月/日/年”,如 6/13/2004;

  • “英文月名 日,年”,如 January 12,2004;

  • “英文星期几 英文月名 日 年 时:分:秒 时区”,如 Tue May 25 2004 00:00:00 GMT-0700。

  • ISO 8601 扩展格式 YYYY-MM-DDTHH:mm:ss.sssZ(例如 2004-05-25T00:00:00)。只有兼容ECMAScript 5 的实现支持这种格式。

Date.parse('6/13/2004')
//=>1087056000000
Date.parse('January 12,2004')
//=>1073836800000
Date.parse('Tue May 25 2004 00:00:00 GMT-0700')
/=>1085468400000
Date.parse('2004-05-25T00:00:00')
//=>1085414400000

New Date(year,month[,date[,hrs[,min[,sec[,ms]]]]])= Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数,Date 构造函数也会模仿 Date.UTC(),但有一点明显不同:日期
和时间都基于本地时区而非 GMT 来创建。

参数 范围 说明
year >1900
month 0~11
date 1~31
hrs 0~23
min 0~59
sec 0~59
ms 0~59 毫秒
new Date(2000, 0);
//=>Sat Jan 01 2000 00:00:00 GMT+0800 (中国标准时间) {}
new Date(2005, 4, 5, 17, 55, 55);
//=>Thu May 05 2005 17:55:55 GMT+0800 (中国标准时间) {}

综上New Date()语法如下

new Date();    
 
new Date(value);    
 
new Date(dateString);
 
new Date(year,month[,day[,hour[,minutes[,seconds[,milliseconds]]]]]);
console.log(typeof new Date());
//=> "object"
console.log(typeof Date);
// =>"function"
console.log(typeof Date());
//=>"string"

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

Date.now()
//=>1589424065121

日期/时间 格式化方法

toDateString()——以特定于实现的格式显示星期几、月、日和年;
toTimeString()——以特定于实现的格式显示时、分、秒和时区;
toLocaleDateString()——以特定于地区的格式显示星期几、月、日和年;
toLocaleTimeString()——以特定于实现的格式显示时、分、秒;
toUTCString()——以特定于实现的格式完整的 UTC 日期。

日期/时间 获取/更改方法

getTime()        //返回表示日期的毫秒数;与valueOf()方法返回的值相同
setTime(毫秒)    //以毫秒数设置日期,会改变整个日期
getFullYear()       //取得4位数的年份(如2007而非仅07)
getUTCFullYear()      //返回UTC日期的4位数年份
setFullYear(年) //设置日期的年份。传入的年份值必须是4位数字(如2007而非仅07)
setUTCFullYear(年) //设置UTC日期的年份。传入的年份值必须是4位数字(如2007而非仅07)
getMonth() //返回日期中的月份,其中0表示一月,11表示十二月
getUTCMonth() //返回UTC日期中的月份,其中0表示一月,11表示十二月
setMonth(月) //设置日期的月份。传入的月份值必须大于0,超过11则增加年份
setUTCMonth(月) //设置UTC日期的月份。传入的月份值必须大于0,超过11则增加年份
getDate() //返回日期月份中的天数(1到31)
getUTCDate() //返回UTC日期月份中的天数(1到31)
setDate(日) //设置日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加月份
setUTCDate(日) //设置UTC日期月份中的天数。如果传入的值超过了该月中应有的天数,则增加月份
getDay() //返回日期中星期的星期几(其中0表示星期日,6表示星期六)
getUTCDay() //返回UTC日期中星期的星期几(其中0表示星期日,6表示星期六)
getHours() //返回日期中的小时数(0到23)
getUTCHours() //返回UTC日期中的小时数(0到23)
setHours(时)  //设置日期中的小时数。传入的值超过了23则增加月份中的天数
setUTCHours(时) //设置UTC日期中的小时数。传入的值超过了23则增加月份中的天数
getMinutes() //返回日期中的分钟数(0到59)
getUTCMinutes() //返回UTC日期中的分钟数(0到59)
setMinutes(分) //设置日期中的分钟数。传入的值超过59则增加小时数
setUTCMinutes(分) //设置UTC日期中的分钟数。传入的值超过59则增加小时数
getSeconds() //返回日期中的秒数(0到59)
getUTCSeconds() //返回UTC日期中的秒数(0到59)
setSeconds(秒) //设置日期中的秒数。传入的值超过了59会增加分钟数
setUTCSeconds(秒) //设置UTC日期中的秒数。传入的值超过了59会增加分钟数
getMilliseconds() //返回日期中的毫秒数
getUTCMilliseconds() //返回UTC日期中的毫秒数
setMilliseconds(毫秒) //设置日期中的毫秒数
setUTCMilliseconds(毫秒) //设置UTC日期中的毫秒数
getTimezoneOffset() //返回本地时间与UTC时间相差的分钟数。例如,美国东部标准时间返回300。在某
地进入夏令时的情况下,这个值会有所变化

相关文章

网友评论

      本文标题:Date

      本文链接:https://www.haomeiwen.com/subject/nuvznhtx.html