JavaScript日期对象及定时器和延时器

概述:date是用于表示日期时间的对象,他里面的主要方法是用于获取日期时间和设置日期时间。

1.日期的声明

1.不传参

// 使用new关键词构建的都是对象 对象是引用数据类型
//不传参数获取的是当前的本地时间
var date = new Date() //获取当前的本地时间
console.log(date);

2.传递字符串

//传递对应的string类型的参数 根据本地的日期时间格式传递
var date = new Date('2000/10/9 12:00')
console.log(date);

3.传数值

//传递一个数值 传递是毫秒值 根据格林兰治时间 1970/1/1 00:00:00向上递增
var date = new Date(1000)//在原本的格林兰治时间上递增一秒种
console.log(date);

4.传多个数值

//传递对应的多个参数 年 月 日 时 分 秒 毫秒 可以省略
var date = new Date(2000,11,12,12,12,12) //月份取值时0-11
console.log(date);

2.日期的比较和计算

//日期在对应的比较和计算中会自动变成number类型的毫秒值(离格林兰治时间的毫秒值)
var date = new Date()
var date1 = new Date('2022/10/1 11:41:00')
console.log(date-date1);//变成number类型
console.log(date+date1);//不会变成number,字符串连接
console.log(date>date1);//true

3.日期对象的方法

1.获取对应的日期时间(get开头)

var date = new Date()
              
console.log(date.getFullYear());//获取年
​
console.log(date.getMonth());//获取月  //0-11 实际月份会比获取大1
​
console.log(date.getDate());//获取日 ,当月的第几天
console.log(date.getDay());//获取星期几 ,星期天是第一天 0-6
​
console.log(date.getHours());//获取小时 0-23
​
console.log(date.getMinutes());//获取分钟 0-59
​
console.log(date.getSeconds());//获取秒钟 0-59
​
console.log(date.getMilliseconds());//获取毫秒 0-1000
​
console.log(date.getTime());//获取时间戳 离对应的格林兰治时间的毫秒值
​
console.log(Date.now());//静态方法 now
​
console.log(date.getUTCFullYear());//辅助方法 utc国际标准时间 (上面的相关方法都有对应的utc方法)

2.设置对应的日期时间 (set开头)

var date = new Date()
​
date.setFullYear(2022)//设置年份
​
date.setMonth(11)//设置对应得月份 //设置为12月
date.setMonth(13)//自动往递进 当前设置为2月 对应的年份就会往上加1
​
//设置对应的天数
date.setDate(39) //设置当月的第几天 超过当前月份的天数会自动向上递进 月份会+1
​
date.setHours(30)//设置对应的小时 最大为23 超过23 自动向上递进 天数会+1
​
date.setMinutes(59)//设置相关分钟 向上递进 0-59 小时会+1
​
date.setSeconds(59)//设置秒钟 跟分钟一样
​
date.setMilliseconds(999)//设置毫秒值 0-999 向上递进
​
date.setTime(1000)//根据对应的毫秒值设置对应的时间
​
date.setUTCDate(10)//设置对应的utc时间

3.辅助相关方法 转为对应的string

console.log(date.toDateString());//将对应的日期转换string返回
console.log(date.toTimeString());//将对应的时间转换string返回
console.log(date.toLocaleString());//根据本地的格式 转为对应的字符串返回
console.log(date.toLocaleDateString());//根据本地的格式 将日期转为对应的字符串返回
console.log(date.toLocaleTimeString());//根据本地的格式 将时间转为对应的字符串返回

定时器和延时器

概述:属于window的俩个方法,定时器和延时器是属于异步的行为,异步代码不按照对应的文档流执行(他会重新开辟一个异步线程),你是没有办法知道他什么时候走完。同步代码比异步代码先执行。定时器是定时器执行的(执行多次),延时器是延时执行(执行一次)。

1.同步和异步区别

//同步比异步先执行
setInterval(function(){
     console.log('世界');
}, 0); //就算对应的间隔时间为0他也是异步的
console.log('你好');//先你好再打印世界

2.定时器 setInterval(做动画)

//第一个参数是执行的函数 第二个对应定时的时间(毫秒值) 第三个传递给对应函数的参数
setInterval(handlerFunction,time,arg)
​
//第一种(传匿名函数)
setInterval(function(params){
      console.log(params)
},1000,'hello')
​
//第二种写法 (传递具名函数)
function fn(params){
      console.log(params);
}
setInterval(fn,1000,'jack')
​
//第三种方式 (传递字符串 在字符串里面写代码 不推荐)
setInterval('console.log("hello")',1000)

清除定时器 用于停止对应的定时器操作

//clearInterval(对应的定时器id)
var timer = setInterval(function(){
     console.log('hello')
},1000)
//清除对应的定时器
clearInterval(timer)

3.延时器 setTimeout (对应的等待)

//第一个参数是执行的函数 第二个对应定时的时间(毫秒值) 第三个传递给对应函数的参数
setTimeout(hanlderFunction,delay,arg)
​
//执行一次就结束 内存并不会释放
var id = setTimeout(function(){
     console.log('三秒后执行');
     //清除延时器
     clearTimeout(id)//释放内存
},3000)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值