js 日期 天数加减,年月也要变化
时间: 2023-08-16 22:09:05 浏览: 154
javascript的日期加减
可以使用 JavaScript 中的 Date 对象来实现日期的加减操作。下面是一个示例函数,可以将指定的天数加到指定日期上,并返回计算后的日期:
```javascript
function addDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
```
使用方式如下:
```javascript
var date = new Date('2022-01-01');
var newDate = addDays(date, 30); // 将日期加上30天
```
如果需要同时改变年月,可以先将日期对象转换为年月日的形式,再进行计算,最后再将结果转换回日期对象。以下是一个示例函数:
```javascript
function addMonths(date, months) {
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var totalMonths = year * 12 + month + months;
var newYear = Math.floor(totalMonths / 12);
var newMonth = totalMonths % 12;
if (newMonth === 0) {
newMonth = 12;
newYear--;
}
var maxDay = new Date(newYear, newMonth, 0).getDate();
var newDay = Math.min(day, maxDay);
return new Date(newYear, newMonth - 1, newDay);
}
```
使用方式如下:
```javascript
var date = new Date('2022-01-31');
var newDate = addMonths(date, 13); // 将日期加上13个月
```
注意,这里的月份是从1开始计数的,所以在转换回日期对象的时候要将月份减1。
阅读全文