想自己写一个日期的加减方法,但是涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,有些复杂,应用过程中总是出现问题,于是查了下资料,以在某个日期上加减天数来说,其实只要调用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()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。

特别:注意年月日组合的时候,不能直接+,会当做int类型求和,要转换成字符串。

PS:最后再为大家推荐几款时间及日期相关在线工具供大家参考使用:

在线日期/天数计算器:
http://tools.uoften.com/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.uoften.com/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.uoften.com/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.uoften.com/code/unixtime

点赞(151)

评论列表共有 0 条评论

立即
投稿
返回
顶部