首页
友链
导航
影视
壁纸
统计
留言板
Search
1
el-upload自定义触发按钮及触发上传前判断
801 阅读
2
vue配置二级目录以及nginx多网站部署
694 阅读
3
el-cascader选择任意一级搭配懒加载使用,单选框radio不会触发懒加载
564 阅读
4
joe主题自定义导航页面
472 阅读
5
js获取昨天今天明天日期
460 阅读
web前端
vue
react
javascript
nuxt
typescript
indexDB数据库
微信小程序
美文欣赏
心情随笔
技术分享
其他
PHP
nodejs
博客api实战项目
typecho
登录
Search
标签搜索
web
vue
node项目实战
js
javascript
typecho
css
vuex
router
nginx
git
element
joe
utils
leaflet
dateFormat
map
date
axios
reg
辰漪
累计撰写
66
篇文章
累计收到
122
条评论
首页
栏目
web前端
vue
react
javascript
nuxt
typescript
indexDB数据库
微信小程序
美文欣赏
心情随笔
技术分享
其他
PHP
nodejs
博客api实战项目
typecho
页面
友链
导航
影视
壁纸
统计
留言板
搜索到
1
篇与
date
的结果
2021-11-24
js如何获取本周上周下周的日期
/* *@params date 时间对象/时间字符串/时间戳等等 *@params type {String} 值:prev/current/next 上周/本周/下周 *@params fmt {String} 日期连接符 */ function getWeekList(date, type, fmt) { let arr = [] // 格式化日期 const dateFormat = (date, fmt) => { console.log(date, "datefoemat") let y = date.getFullYear() // 年 console.log(y) let m = date.getMonth() + 1 // 月 let d = date.getDate() // 日 return `${y}${fmt}${m}${fmt}${d}` } console.log(dateFormat(new Date("2021-12-28"), "```")) let currentDate = new Date(date) let w = currentDate.getDay() // 当前星期 0-6 let y = currentDate.getFullYear() // 当前年 let m = currentDate.getMonth() + 1 // 当前月 let d = currentDate.getDate() // 当前日期 if (w === 0) w = 7 // 先算出周一是几号 根据type类型计算 let Monday = 0 // 获取周一的年份 月份 日期 const getMonday = (zf) => { if (zf <= 0) { // 日期小于0 且当前星期不是0 if (m - 1 <= 0) { // 月份<=0 年份-1 y = y - 1 // 年份 -1 m = 12 // 月份 = 12 let n = d - (w - 1) // 负的星期 Monday = new Date(y, m, 0).getDate() + n console.log(y, m, Monday) } else { m = m - 1 // 月份 -1 let n = d - (w - 1) // 负的星期 Monday = new Date(y, m, 0).getDate() + n console.log(y, m, Monday) } } else if (zf > 0) { // 日期大于0 Monday = d - (w - 1) console.log(y, m, Monday) } } // 本周一 switch (type) { case "current": // 本周 break case "prev": // 上一周 if (d - 7 < 0) { if (m - 1 < 1) { m = 12 y = y - 1 d = new Date(y, m, 0).getDate() + (d - 7) } else { m = m - 1 d = new Date(y, m, 0).getDate() + (d - 7) } } else { d = d - 7 } break case "next": // 下一周 if (d + 7 > new Date(y, m, 0).getDate()) { if (m + 1 > 12) { m = 1 y = y + 1 d = d + 7 - new Date(y - 1, 12, 0).getDate() // d + 7 大于 12月的天数多少天 就是几号 } else { m = m + 1 d = d + 7 - new Date(y, m - 1, 0).getDate() } } else { d = d + 7 } break } getMonday(d - (w - 1)) // 获取周一日期 // 获取日期 const getDate = (mon, i) => { if (mon + i > new Date(y, m, 0).getDate()) { // 大于当月天数 Monday = -i + 1 mon = 1 if (m + 1 > 12) { y += 1 m = 1 } else { m += 1 } console.log(m, i, "大于当月天数") return dateFormat(new Date(`${y}-${m}-${mon}`), fmt) } console.log(y, m, mon + i) console.log(dateFormat(new Date(y, m, mon + i, 0), fmt)) return dateFormat(new Date(`${y}-${m}-${mon + i}`), fmt) } // currentDate = new Date(y, m, Monday, 0) console.log(currentDate, "currentDate") // 往后推7天 for (let i = 0; i < 7; i++) { arr[i] = getDate(Monday, i) } return arr } console.log(getWeekList(new Date(), "prev", "-"))
2021年11月24日
70 阅读
2 评论
3 点赞