-
在项目开发过程中,遇到一个需求,如果开始时间选中了,结束时间需要年份自动加一,日自动加一。拿到的值如下格式 年-月-日
- 我直接先字符串转数组,然后取出年份加一,取出日期减一,再使用join方法拼接,一顿操作猛如虎,其实太麻烦了,然后重新复习了一下Date对象。
- MDN地址
一. 日期 可以直接使用 new Date构建
let data = new Date()
// Sun Oct 09 2022 21:30:33 GMT+0800 (中国标准时间)
//默认是当前时间
- new Date()里面可以传字符串,也可以传参数类型
- 字符串
1.“年/月/日”
2.“月名 日 ,年”
3. “周几 月名 日 年 时:分:秒 地区”
4.ISO 8601扩展格式"YYYY-MM-DDTHH:mm:ss.sssZ" 如2022-10-09-T20:12:30 //注意中间的字母T
- 参数
let data = new Date(2022,10,09)
//时分秒不写默认为零
//Wed Nov 09 2022 00:00:00 GMT+0800 (中国标准时间)
2.常用方法总结
date.getTime() //返回毫秒数 如本人需要的需求中,减一天的毫秒数为 24*60*60*1000 -->1秒==1000毫秒
date.getFullYear() //返回4位的年份 如 2016
date.getMonth() // 返回月份,0-11
date.getDate() //放回当月的第几天
date.getSeconds() // 返回0-59
date.getMinutes() // 返回0-59
date.getHours() // 返回0-23
二. 日期格式化处理
当有时候对日期进行灵活获取时,可以看一下这个方法
date.toLocaleString(locales , options) //具体可以看一下MDN文档
//不过需要注意一下,只要在MDN为英文状态下,才可以点开options链接,很奇怪。