JavaScript 内置对象之-Date

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不会再执行了,因为两个定时器都被取消了。
发布了18 篇原创文章 · 获赞 57 · 访问量 1764

猜你喜欢

转载自blog.csdn.net/weixin_42881768/article/details/104460386