JavaScript日期处理

127 阅读1分钟
  • 在项目开发过程中,遇到一个需求,如果开始时间选中了,结束时间需要年份自动加一,日自动加一。拿到的值如下格式 年-月-日

  • 我直接先字符串转数组,然后取出年份加一,取出日期减一,再使用join方法拼接,一顿操作猛如虎,其实太麻烦了,然后重新复习了一下Date对象。
  • MDN地址

一. 日期 可以直接使用 new Date构建

let data = new Date()  
// Sun Oct 09 2022 21:30:33 GMT+0800 (中国标准时间)
//默认是当前时间
  1. 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链接,很奇怪。

image.png