日期对象date

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

设置日期的方法

使用new Date来声明 用来获取本地时间

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

传递字符参串(‘2000/10/9 12:00:00’)

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

传递数值传递是毫秒值 是距离1970/1/1 00:00:00的时间

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

传递多个数值 (2000,11,12,12,12,12) 月份取值时0-11

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

日期对象转为时间戳的方式

console.log(date.valueOf())console.log(date.getTime());console.log(Date.now());console.log(Date.parse('2022-12-12 12:12:12'));
日期的加减运算和比较
  • 日期在做减法时会变成number类型

  • 日期在做加法时会进行字符串拼接

  • 日期比较大小时返回布尔类型(true false)]

     var date = new Date()var start= new Date(2000,11,11,11,11,11)   console.log(date);console.log(start);console.log(date-start);//转为number 以时间戳相减console.log(date+start);//字符串拼接console.log(date>start);//返回布尔类型 true

日期对象的方法

获取对应的日期时间(date.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
//获取小时 0-23
console.log(date.getHours());
//获取分钟 0-59
console.log(date.getMinutes());
//获取秒钟 0-59
console.log(date.getSeconds());
//获取毫秒 0-1000
console.log(date.getMilliseconds());
//获取时间戳 离对应的格林兰治时间的毫秒值
console.log(date.getTime());
//静态方法 now
console.log(Date.now());
//辅助方法 utc国际标准时间 (上面的相关方法都有对应的utc方法)
console.log(date.getUTCFullYear());

设置对应的日期时间 (set开头)[此处月份也是0-11,满12进1]
直接打印设置的时间会获得时间戳

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

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

     console.log(date.toDateString());//Tue Nov 22 2022console.log(date.toLocaleDateString());//2022/11/22console.log(date.toTimeString());//16:07:45 GMT+0800 (中国标准时间)console.log(date.toLocaleTimeString());//16:08:14

自己拼接日期

 var date = new Date()var yyyy = date.getFullYear()var MM = date.getMonth()var dd = date.getDate()var hh = date.getHours()var mm = date.getMinutes()var ss = date.getSeconds()var ms = date.getMilliseconds()var str =`${yyyy}年${MM}月${dd}日${hh}时${mm}分${ss}秒${ms}毫秒`console.log(str);//2022年10月22日19时16分17秒693毫秒

对象

概述:对象是一种引用数据类型.他可以储存对应的数据相关的方法(可以拥有相关的属性及对应的函数).对象里面构成是用 key:value(键值对) 构成,一个key对应一个value

  • key不可以重复,value可以重复

  • 对象的组成 =属性+方法(行为)

对象的声明

使用字面量{}

 var obj = {name:'jack',//对应的key是name value是jack 多个键值对使用,隔开age:18
}

构造函数的方式创建对象 ObjectObject是所有的类和对象的父类 也就是Object是最大的对象)

        var person =new Object()person.name='坤坤'person.age=23person.run=function(){}console.log(person);

对象的属性及相关的方法访问(查询)

使用对象名.属性名

var obj = {name:'jack',//对应的key是name value是jack 多个键值对使用,隔开
age:18,
sayHello:function(){console.log('hello')
}
}
console.log(obj.name) //jack
console.log(obj.age) //18
//调用对应的sayHello方法
obj.sayHello()

使用对象名[属性名字符串]

var obj = {name:'jack',//对应的key是name value是jack 多个键值对使用,隔开
age:18,
sayHello:function(){console.log('hello')
}
}
console.log(obj['name']) //jack
console.log(obj['age']) //18
//调用sayHello方法
obj['sayHello']()

对比的相关注意事项

//对象在比对的时候比对是对应的地址
console.log({}=={});//false
关于对象属性的增删改的相关操作

增 (就是使用对象名.属性名进行赋值)

var obj = {}
obj.sex = '男' //给对应的obj添加一个属性名字为sex

删除 (使用delete 关键词

var obj = {age:18,
sex:'男'
}
//删除对应得属性 使用delete关键词
delete obj.sex //删除对应obj的sex属性
console.log(obj); //{age:18}

修改 (跟对应的增加操作一致 如果当前属性本身已经具备那么重新赋值就是修改)

var obj = {age:18
}
obj.age = 20 //当前属性已经存在重新赋值就是修改
console.log(obj)

this

概述:this是一个特殊的对象,他类似于一个指针会指向对应的对象。(在对象的函数内那么对应的this就指向这个对象,在外面的函数内this就指向最顶层的对象window)。this指向当前调用者所有的全局变量及全局声明的函数都是属于window的(window可以被省略)
对象里的方法,方法里的this,指向当前的对象

var person = new Object()
person.name ='jack'
person.age = 30
person.like = '泡澡'
person.money = 10000
person.print = function(){console.log(`姓名 ${this.name} 年龄 ${this.age} 爱好 ${this.like} 薪资期望
${this.money}`);//this指向person
}
person.print()
//在外面的函数内容 this指向对应的window
function fn(){console.log(this);
}
fn()//所有的全局变量及全局声明的函数都是属于window
window.fn() //window可以被省略
var a = 10
console.log(window.a);

定时器和延时器

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

同步和异步

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

定时器 setInterval(做动画)

//第一个参数是执行的函数 第二个对应定时的时间(毫秒值) 第三个传递给对应函数的参数
setInterval(handlerFunction,time,arg)

第一种写法(传递匿名函数)

setInterval(function(params){console.log(params)
},1000,'hello')

第二种写法 (传递具名函数)

function fn(params){console.log('hi'+params);
}
//第二种方式 传递具名函数
setInterval(fn,1000,'jack')

第三种方式 (传递字符串 在字符串里面写代码 不推荐)

//第三种方式 传递字符串(字符串里面书写代码)
setInterval('console.log("hello")',1000)

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

clearInterval(对应的定时器id)//这个id就是对应的setInterval返回的number值var timer = setInterval(function(){console.log('hello')
},1000)
//清除对应的定时器
clearInterval(timer)

延时器 setTimeout (对应的等待)

概述:延时器时延迟执行 只执行一次 (用法和对应的setInterval一样的)

setTimeout(hanlderFunction,delay,arg)
//执行一次就结束 内存并不会释放
var id = setTimeout(function(){console.log('三秒后执行');
//清除延时器
clearTimeout(id)
},3000)

总结

  • 日期对象Date 用于获取和设置相关的日期时间
  • 获取方法以get开头 设置方法以set开头
  • 对应的获取月份的值是0-11 比实际月份值小1
  • 对象的声明可以使用字面量{} 也可以使用new Object()
  • Object是最大的对象 所有的对象都是他的子类
  • 对象里面的存储使用key:value 多个属性使用,隔开
  • 获取对象里面的属性值可以通过对应的属性名来获取 对象.属性名 对象[属性名字符串]
  • delete 可以删除对象里面的属性
    this指向调用者 在对象里面的函数调用者为对象 在外边的函数调用者为window(global对象 顶层对象
  • 所有的全局变量和全局声明方法都是属于window的 window可以通过对应的属性调用进行调用 window可以省略
  • setInterval和setTimeout是属于window的俩个方法 这个函数里面的this指向window
  • setInterval 属于定时器会定时执行 执行多次 如果需要停止使用clearInterval(根据id进行清除 id为setInterval的返回值)进行清除
  • setTimeout 属于延时器 延迟执行 只执行一次(使用方式和setInterval没有区别)使用对应clearTimeout可以清除对应的延时器(释放内存)

day7 日期对象定时器相关推荐

  1. Javascript第六天学习总结日期对象和定时器

    1日期对象(Date) Date是日期的意思.Data数据的意思. 1.3日期对象定义 他就是一个盒子.里面装满了与日期有关的所有信息的盒子. 日期对象一般不独立使用,可以独立获取里面的相关信息. W ...

  2. 9_js 日期对象Date()、js定时器、获取窗口属性、获取dom尺寸、脚本化css

    日期对象Date() 封装函数,打印当前是何年何月何日何时,几分几秒 直接看w3c上的介绍吧 https://www.w3school.com.cn/js/jsref_obj_date.asp js定 ...

  3. 例子---年倒计时/JS日期对象类型

    这两天闲着没事,在这感叹一年过得真快,转眼过不了几天,感觉又要过年了,唉~越大一年过得越快哟.然后就想到写一个年倒计时,以记录点滴岁月的飘走,哈哈,本来想着挺简单的,但是写了才发现,它是有一个小坑的, ...

  4. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  5. java对象转json字符串日期格式_fastJSON字符串类型数据中的日期转换为Java bean的日期对象...

    fastJSON字符串类型数据中的日期转换为Java bean的日期对象 Person.java import java.io.Serializable; import java.util.Date; ...

  6. Python日期字符串到日期对象

    本文翻译自:Python date string to date object How do I convert a string to a date object in python? 如何在pyt ...

  7. 计算机二级日期格式,09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象...

    09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象 分类:计算机等级| 更新时间:2008-10-16| 来源:教育联展网 将未指定格式的日期字符串转化成java ...

  8. js 日期对象 31 号 setMonth 的锅

    前言 需求:获取当前日期的前一个月份 当月有 31 天时,JS 日期对象 setMonth 问题 1. 一般做法 当前日期如果不是 31 号, 是没问题的,是 31 号就会有问题: // 比如今天是 ...

  9. [JavaWeb-JavaScript]JavaScript_Data日期对象

    Date:日期对象 1. 创建:var date = new Date();2. 方法:toLocaleString():返回当前date对象对应的时间本地字符串格式getTime():获取毫秒值.返 ...

最新文章

  1. 黑鲨科学计算机,科学技术篇:玩家注意黑鲨一口气发布两款重磅新品
  2. String.format System.out.printf的用法-简单
  3. ubuntu16.04 npm安装
  4. java 反转链表、合并链表
  5. SAP UI5 ODataWrapper
  6. c语言中return的作用_C语言入门基础整理
  7. 7.16模块及软件开发目录规范
  8. “~/” 代表应用程序根目录的一点误区
  9. STC51-l2C总线
  10. 诺基亚9 PureView五摄机皇再曝光 低配高价毫无诚意?
  11. 主板没有rgb接口怎么接灯_电脑硬件第六期,关于主板的那点破事。
  12. Proxy 对象简介
  13. python open r/rb
  14. 计算机的色彩在哪调整w10,win10电脑显示器颜色不对如何调整
  15. 股票交易接口程序概述
  16. clustMD r语言_R语言做聚类分析Kmeans时确定类的个数
  17. mysql errno: 1146_解决MySQL复制出错 Last_SQL_Errno:1146
  18. Altium Designer使用介绍和界面介绍
  19. CMMI有哪几个级别,每个级别有哪些其特征
  20. 小学语文毕业知识整理与复习题

热门文章

  1. Android高级控件----AdapterView与Adapter详解
  2. setTimeout原理
  3. 【LaTeX排版】LaTeX论文模版
  4. 又一个万亿级市场迎来新玩家?抖音内测网络拍卖功能
  5. MapGuide空间参考系API
  6. monkeyrunner的使用
  7. android 7原生动态壁纸,手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜!...
  8. java实现图片反色
  9. 天威诚信董事长陈韶光、首席安全官李延昭入选武汉仲裁委员会仲裁员
  10. php+flash头像上传组件