你可以使用 JavaScript 来生成一个从今天开始往后计算3个月内的日期时间数组对象,每个对象中包含具体的日期和星期几。以下是一个示例代码:
```javascript
// 获取当前日期
const today = new Date();
// 创建一个空数组来存储日期对象
const dateArray = [];
// 计算3个月后的日期
const threeMonthsLater = new Date(today);
threeMonthsLater.setMonth(today.getMonth() + 3);
// 循环生成从今天到3个月后的日期
while (today <= threeMonthsLater) {
// 获取星期几
const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
const dayOfWeek = daysOfWeek[today.getDay()];
// 创建日期对象
const dateObj = {
date: today.toISOString().split('T')[0], // 获取YYYY-MM-DD格式的日期
dayOfWeek: dayOfWeek // 获取星期几
};
// 将日期对象添加到数组中
dateArray.push(dateObj);
// 增加一天
today.setDate(today.getDate() + 1);
}
// 输出结果
console.log(dateArray);
```
### 代码说明:
1. **获取当前日期**:使用 `new Date()` 获取当前日期。
2. **计算3个月后的日期**:通过 `setMonth()` 方法将当前日期的月份增加3个月。
3. **循环生成日期**:使用 `while` 循环从今天开始,逐天增加,直到达到3个月后的日期。
4. **获取星期几**:使用 `getDay()` 方法获取星期几,并将其转换为对应的字符串(如 "Monday")。
5. **创建日期对象**:将日期和星期几存储在对象中,并将对象添加到数组中。
6. **输出结果**:最终输出包含日期和星期几的数组对象。
### 示例输出:
```javascript
[
{ date: '2023-10-05', dayOfWeek: 'Thursday' },
{ date: '2023-10-06', dayOfWeek: 'Friday' },
{ date: '2023-10-07', dayOfWeek: 'Saturday' },
// ... 其他日期
]
```
这个代码会生成从今天开始往后3个月内的所有日期,并且每个日期对象中都包含具体的日期和星期几。