JS输出当前周一到周日范围时间

发布时间 2023-12-13 15:47:24作者: RicardoX3

网上搜的都感觉好复杂,看不懂,自己写了个,存着。

 1     //格式化时间
 2       const formatTime = function (date) {
 3         const year = date.getFullYear().toString();
 4         const month = (date.getMonth() + 1).toString().padStart(2, '0'); // 月份从0开始,因此需要加1
 5         const day = date.getDate().toString().padStart(2, '0');
 6         return `${year}年${month}月${day}日`
 7       }
 8       const currentTime = new Date();//当前时间
 9       10       //获取当前周几
11       const index = currentTime.getDay()
12       if (index === 0) {
13         //周日
14         const startTime = new Date(currentTime.getTime() - 6 * 24 * 3600 * 1000)
15         this.week = `${formatTime(startTime)} ~ ${formatTime(currentTime)}`
16       } else {
17         //周一及之后
18         const startTime = new Date(currentTime.getTime() - (index - 1) * 24 * 3600 * 1000)
19         const endTime = new Date(currentTime.getTime() + (7 - index) * 24 * 3600 * 1000)
20         this.week = `${formatTime(startTime)} ~ ${formatTime(endTime)}`
21       }

格式化函数可以自定义返回值,我这里只需要到日就行,所以就这么返回了。

this.week就是需要显示的字符串