<返回更多

JavaScript 内置对象之——Date,看完你会更清晰

2022-02-11    前端全家桶
加入收藏

Date对象是 JAVAScript原生的时间库。它以1970年1月1日00:00:00作为时间的零点,可以表示的时间范围是前后各1亿天(单位为毫秒)。

Date对象的创建:

Date可以当作构造函数使用。对它使用new命令,会返回一个Date对象的实例;如果不加参数,实例代表的就是当前时间。

var today = new Date();

today.toString(); 

// Sun Feb 23 2020 15:09:42 GMT+0800 (中国标准时间)

// 对Date实例求值,返回的是一个字符串,代表该实例对应的时间。

日期的处理:

 

oDate.getDate();     // 返回一个月中的某一天 (1 ~ 31)

 oDate.getDay();      // 返回一周中的某一天 (0 ~ 6)

 oDate.getMonth(); 	 // 返回月份 (0 ~ 11)

 oDate.getFullYear(); // 以四位数字返回年份

作为构造函数时,Date对象可以接受多种格式的参数,返回一个该参数对应的时间实例:

// 参数为时间零点开始计算的毫秒数

new Date(1378218728000);     //(最常用)

// 代表年、月、日、小时、分钟、秒、毫秒

new Date(2020, 1, 23, 0, 0, 0, 0)

// Sun Feb 23 2020 00:00:00GMT+0800

// 参数也可以是一个字符串(最常用)

// 日期字符串应该符合RFC 2822和ISO 8061这两个标准,即YYYY-MM-DDTHH:mm:ss.sssZ格式

new Date('2020-2-23');

new Date('2020/2/23');

new Date('02/23/2020');

new Date('2020-FEB-23');

new Date('FEB, 23, 2020');

new Date('Feberuary, 23, 2020');

new Date('23 Feb 2020');

new Date('23, Feberuary, 2020');

//  上面多种日期字符串的写法,返回的都是同一个时间

获取日期时间:

注意,月份从0开始计算,但是,天数从1开始计算。另外,除了日期的默认值为1,小时、 分钟、秒钟和毫秒的默认值都是0。

oDate.getDate(); 		 // 返回一个月中的某一天 (1 ~ 31)

oDate.getDay();  		 //  返回一周中的某一天 (0 ~ 6)

oDate.getMonth(); 		 // 返回月份 (0 ~ 11)

oDate.getFullYear();	 // 以四位数字返回年份

oDate.getHours();   	 // 返回当前小时(0-23)

oDate.getMinutes();  	 //  返回当前分钟 (0 ~ 59)

oDate.getSeconds();      //返回当前秒(0 ~ 59)

oDate.getMillisenconds();// 返回当前毫秒(0 ~ 999)

oDate.getTime();  		 //返回1970年1月1日至今的毫秒数

设置日期时间:

这些参数如果超出了正常范围,就会被自动折算。比如,如果月设为15,就折算为下一年的4月

oDate.setDate();             //设置月中的某一天 (1 ~ 31)

oDate.setMonth();            //设置月份 (0 ~ 11)

oDate.setFullYear();         //设置年份(四位数)

oDate.setHours();            //设置小时(0-23)

oDate.setMinutes();          //设置分钟 (0 ~ 59)

oDate.setSeconds();          //设置秒(0 ~ 59)

oDate.setMillisenconds();    //设置毫秒(0 ~ 999)

oDate.setTime();             //设置1970年1月1日至今的毫秒数

日期的运算:

类型自动转换时,Date实例如果转为数值,则等于对应的毫秒数;

如果转为字符串,则等于对应的日期字符串。

所以,两个日期实例对象进行减法运算时,返回的是它们间隔的毫秒数;进行加法运算时,返回的是两个字符串连接而成的新字符串。

var d1 = new Date(2020, 2, 23);

var d2 = new Date(2020, 3, 29);

d2 - d1

// 518400000

d2 + d1

// Sun Mar 29 2020 00:00:00 GMT+0800 (中国标准时间)Mon Mar 23 2020 00:00:00 GMT+0800 (中国标准时间)

静态方法:

Date.parse():方法用来解析日期字符串,返回该时间距离时间零点(1970年1月1日 00:00:00)的毫秒数。

日期字符串应该符合 RFC 2822 和 ISO 8061 这两个标准,即YYYY-MM-DDTHH:mm:ss.sssZ格式,其中最后的Z表示时区。但是,其他格式也可以被解析,例如:

Date.parse('Dec 8, 2010')

Date.parse('January 20, 2020 12:32:13')

Date.parse('Mon, 12 Dec 2020 13:30:00 GMT')

Date.parse('Mon, 21 Dec 2020 13:30:00 +0430')

Date.parse('2010-10-10')

Date.parse('2012-12-10T12:12:00')

setInterval(func,time):

有两个参数,第一个参数是一个函数,第二个参数是时间间隔,单位是毫秒;

每间隔time毫秒,会执行一次函数。

// setInterval的返回值是一个数字

function box(){

  console.log(1)

}

var timer = setInerval(box,1000);

// 上面代码意思是,每间隔1000毫秒,box函数执行一次。

setTimeout(func,time):

第一个参数func是将要推迟执行的函数名,第二个参数time是推迟执行的毫秒数。

setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。

btn.onclick= function(){

    setTimeout (function(){

    	alert("我出现在2秒后");

    },2000)

 }

clearTimeout():取消延时器

clearInterval():取消定时器

setTimeout()和setInterval函数,都返回一个整数值,表示计数器编号。将该整数传入clearTimeout和clearInterval函数,就可以取消对应的定时器。

var f1 = setTimeout(f, 1000);

var f2 = setInterval(f, 1000);

clearTimeout(f1);

clearInterval(f2);

// 上面代码中,回调函数f不会再执行了,因为两个定时器都被取消了。
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>