js 获取每周的第一天
时间: 2023-10-13 14:04:28 浏览: 39
你可以使用 JavaScript 中的 Date 对象来获取每周的第一天。具体方法如下:
```javascript
function getFirstDayOfWeek() {
const date = new Date();
const day = date.getDay(); // 获取当前日期是星期几,0 表示星期日,1 表示星期一,依次类推
const diff = date.getDate() - day + (day === 0 ? -6 : 1); // 计算本周的第一天的日期
return new Date(date.setDate(diff)); // 返回本周的第一天的日期对象
}
```
这个函数中,我们首先获取当前日期是星期几(0 到 6),然后计算出本周的第一天的日期,最后返回这个日期对象。需要注意的是,如果当前日期是星期日(day 为 0),则本周的第一天应该是上一周的最后一天,因此要减去 6 天。
相关问题
Js计算-当月每周有多少天
可以使用 JavaScript 来计算当月每周有多少天。以下是一个简单的示例代码```javascript
// 获取当前日期
const today = new Date();
// 获取当月第一天的日期
const firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1);
// 获取当月最后一天的日期
const lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0);
// 计算当月有多少周
const weeksInMonth = Math.ceil((lastDayOfMonth.getDate() - firstDayOfMonth.getDate() + 1) / 7);
// 创建一个数组,用于存储每周的天数
const daysInWeeks = [];
// 遍历每周,计算每周的天数
for (let i = 0; i < weeksInMonth; i++) {
const firstDayOfWeek = new Date(today.getFullYear(), today.getMonth(), 1 + i * 7);
const lastDayOfWeek = new Date(today.getFullYear(), today.getMonth(), Math.min(1 + i * 7 + 6, lastDayOfMonth.getDate()));
const daysInWeek = (lastDayOfWeek - firstDayOfWeek) / (1000 * 60 * 60 * 24) + 1;
daysInWeeks.push(daysInWeek);
}
// 输出当月每周的天数
console.log(daysInWeeks);
```
这段代码会输出一个数组,数组中每个元素表示当月每周的天数。例如,[4, 7, 7, 7, 6] 表示当月第一周有4天,第二周、第三周、第四周每周都有7天,第五周有6天(如果当月有五周的话)。
JS根据时间获取相应当月每周的分布
可以使用Date对象来获取当前时间,然后根据当前时间计算出当月的第一天和最后一天,再根据这些信息来计算每周的分布。以下是一个示例代码:
```javascript
// 获取当前时间
var now = new Date();
// 获取当月第一天
var firstDay = new Date(now.getFullYear(), now.getMonth(), 1);
// 获取当月最后一天
var lastDay = new Date(now.getFullYear(), now.getMonth() + 1, 0);
// 计算当月有多少周
var weeks = Math.ceil((lastDay.getDate() - firstDay.getDate() + 1) / 7);
// 计算每周的起始日期和结束日期
for (var i = 0; i < weeks; i++) {
var start = new Date(firstDay.getTime() + i * 7 * 24 * 60 * 60 * 1000);
var end = new Date(start.getTime() + 6 * 24 * 60 * 60 * 1000);
console.log("第" + (i + 1) + "周:" + start.toLocaleDateString() + " - " + end.toLocaleDateString());
}
```
这段代码可以输出当月每周的起始日期和结束日期,例如:
```
第1周:2021/7/1 - 2021/7/4
第2周:2021/7/5 - 2021/7/11
第3周:2021/7/12 - 2021/7/18
第4周:2021/7/19 - 2021/7/25
第5周:2021/7/26 - 2021/7/31
```