JavaScript使用Date对象setDate实现日期加减
本文介绍在JavaScript中利用Date对象的setDate()函数进行日期加减运算的方法。通过修改日期天数,可自动处理月份天数差异及闰年情况,无需手动判断。同时提供setMonth()进行月份调整,并强调日期组合时需转为字符串以避免类型错误。
JavaScript使用Date对象setDate实现日期加减
若需自行编写日期加减逻辑,需处理各月天数差异及二月闰年判断,逻辑较为复杂且易出错。实际上,借助Date对象的setDate()函数即可实现日期的加减操作,具体实现方式如下。
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var month=d.getMonth()+1;
var day = d.getDate();
if(month<10){
month = "0"+month;
}
if(day<10){
day = "0"+day;
}
var val = d.getFullYear()+""+month+""+day;
return val;
}
其中,date参数为待操作的日期,格式为YYYY-MM-DD;days参数为增减的天数,向前推算传入负数,向后推算传入正数。若需进行月份加减,可调用setMonth()与getMonth()函数。需注意,getMonth()返回的月份值从0开始,即比实际月份少1,因此使用时需相应加1。
特别注意:在组合年月日时,不能直接使用加号连接,否则会被视为整数类型求和,必须转换为字符串格式。
最后推荐几款时间与日期相关的在线工具供参考:
在线日期/天数计算器: http://tools.jb51.net/jisuanqi/date_jisuanqi
在线日期计算器/相差天数计算器: http://tools.jb51.net/jisuanqi/datecalc
在线日期天数差计算器: http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix时间戳(timestamp)转换工具: http://tools.jb51.net/code/unixtime
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
