js 获取两个日期之间的数组
时间: 2023-07-18 20:09:17 浏览: 85
可以使用 moment.js 库来获取两个日期之间的数组,具体的代码如下:
```javascript
// 导入 moment.js 库
const moment = require('moment');
// 定义开始日期和结束日期
const startDate = moment('2021-01-01');
const endDate = moment('2021-01-31');
// 计算两个日期之间的天数差
const daysDiff = endDate.diff(startDate, 'days');
// 构建日期数组
const dateArray = [];
for (let i = 0; i <= daysDiff; i++) {
const date = moment(startDate).add(i, 'days').format('YYYY-MM-DD');
dateArray.push(date);
}
console.log(dateArray); // 输出 ['2021-01-01', '2021-01-02', ... , '2021-01-31']
```
上述代码中,我们首先使用 moment.js 库来定义开始日期和结束日期。然后通过 `diff` 方法计算两个日期之间的天数差。接着使用循环来构建日期数组,使用 `moment(startDate).add(i, 'days').format('YYYY-MM-DD')` 来计算每一天的日期,并将其添加到数组中。最后输出日期数组即可。
相关问题
js 获取两个日期之间的数组 不使用插件
不使用第三方库,我们可以使用原生JS来获取两个日期之间的数组,具体的代码如下:
```javascript
// 定义开始日期和结束日期
const startDate = new Date('2021-01-01');
const endDate = new Date('2021-01-31');
// 计算两个日期之间的天数差
const daysDiff = (endDate - startDate) / (1000 * 60 * 60 * 24);
// 构建日期数组
const dateArray = [];
for (let i = 0; i <= daysDiff; i++) {
const date = new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000);
const dateStr = date.toISOString().slice(0, 10);
dateArray.push(dateStr);
}
console.log(dateArray); // 输出 ['2021-01-01', '2021-01-02', ... , '2021-01-31']
```
上述代码中,我们首先使用 `new Date()` 方法来定义开始日期和结束日期。然后通过 `(endDate - startDate) / (1000 * 60 * 60 * 24)` 计算两个日期之间的天数差。接着使用循环来构建日期数组,使用 `new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000)` 来计算每一天的日期,并将其添加到数组中。最后输出日期数组即可。
需要注意的是,由于JS中的日期格式比较麻烦,我们使用 `date.toISOString().slice(0, 10)` 来获取日期的字符串形式,例如 `2021-01-01`。
js 获取两个日期之间的日期
你可以使用 JavaScript 的 Date 对象来计算两个日期之间的日期。可以通过以下步骤来实现:
1. 首先,将两个日期转换为毫秒数,可以使用 Date 对象的 getTime() 方法来实现。
2. 接着,计算两个日期之间的毫秒差。
3. 将毫秒差转换为天数。
4. 使用循环和 Date 对象的 setDate() 方法来获取两个日期之间的日期。
下面是一个计算两个日期之间的日期的例子:
```javascript
function getDatesBetween(startDate, endDate) {
const dates = [];
let currentDate = new Date(startDate);
const endDateObj = new Date(endDate);
while (currentDate <= endDateObj) {
dates.push(new Date(currentDate));
currentDate.setDate(currentDate.getDate() + 1);
}
return dates;
}
const startDate = '2022-01-01';
const endDate = '2022-01-10';
const datesBetween = getDatesBetween(startDate, endDate);
console.log(datesBetween);
```
这个例子中,我们定义了一个名为 `getDatesBetween()` 的函数,它接收两个日期字符串参数 `startDate` 和 `endDate`。函数返回一个包含两个日期之间的所有日期的数组。
在函数中,我们将日期字符串转换为 Date 对象,并使用循环和 setDate() 方法获取两个日期之间的日期。
最后,我们使用示例日期调用 `getDatesBetween()` 函数,并将结果打印到控制台中。
阅读全文