我们知道js
自带了众多接口,Date
也是其中之一
Date
用于表示日期和时间,通过new Date()
可以创建日期对象;Date
对象一旦被创建,对象会继承Date.prototype
上的属性和方法,这些方法可以获取或设置对象的年、月、日、小时、分钟、秒、和毫秒数
JS Date对象可以表示1970年1月1日前 后的1 亿天的日期和时间,也就是正负 273785 年,现在是2020年,所以JavaScript 能够表示到 275755年
首先,先来看看Date构造函数里面有什么吧:
我用Chrome版本 83.0打印出来的结果如下:
发现,与普通fn对比,其实里面就多UTC()、now()、parse(),即相当于
function _Date() {
}
_Date.UTC = function () { }
_Date.now = function () { }
_Date.parse = function () { }
三者作用是:
- Date.UTC(year,month,day,hours,minutes,seconds,ms)
根据世界时返回1970年1月1日到指定日期的毫秒数
- Date.now()
返回自1970年1月1日00:00:00UTC到此刻的经过的毫秒数
- Date.parse()
用于解析某个表示日期的字符串,并返回从1970-1-1 00:00:00到该日期的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),返回NaN
如果直接执行Date(),会发生什么呢?
返回的是返回当日的日期和时间
接着看,如何创建日期对象
很简单,就是new Date()
但是参数不同,会导致不同情况
-
new Date() 不传参,创建一个此时此刻的日期对象
-
new Date(milliseconds) 传递从1970年1月1日0点的毫秒数,根据传递的这个毫秒数来创建日期对象
-
new Date(date_string)
传递一个日期格式的字符串,根据这个字符串来创建日期对象 4. new Date(year,month,date,[hour,minute,second,millisecond])
根据传入的年月日时分秒毫秒来创建日期对象,方括号里时分秒毫秒可选择
不管哪种方式创建,说白了都是根据传递的日期时间来创建对象,这个创建的对象会基于时间戳
接着,我们直接去Date的原型上看看这些对象都哪些常用方法:
别看这么多方法,常用的就我画出来这几个:
1. getFullYear()
返回四位数年份
2. getMonth()
返回值0(一月) 到 11(十二月) 之间的一个整数
3. getDate()
返回一个月中的第几天(1 ~ 31)
4. getDay()
返回星期,一周中的第几天(0 ~ 6,礼拜天是0)
5. getHours()
返回小时 (0 ~ 23)
6. getMinutes()
返回分钟 (0 ~ 59)
7. getSeconds()
返回秒数 (0 ~ 59)
8. getMilliseconds()
返回毫秒(0 ~ 999)
9. getTime()
根据本地时返回 1970 年 1 月 1 日至今的毫秒数
以上方法对应也有set方法,表示修改对象
另外Date原型的直接原型是Object了
以上就是关于Data的相关的基本内容