js 中处理时间相加减问题

之前需求是当前时间+5天,写法如下

1 var dataCur = new Date(); //当前日期
2 var dataDef = dataCur.getFullYear() + '-' + (dataCur.getMonth() + 1) + '-' + (dataCur.getDate() + 5)

但这种写法有个问题,就是月末比如今天 3.28 + 5天,就成 3.33号(么有这个日期)

于是换了种写法,先将时间转成时间戳,将时间戳+5天(86400 * 5),就不会有这种问题,写法如下:

1 //时间默认值,默认当前时间+5天
2     var dataCur = new Date(); //当前日期
3     dataCur = dataCur.getFullYear() + '-' + (dataCur.getMonth() + 1) + '-' + dataCur.getDate() + " 00:00:00";
4     var dataCurPar = Date.parse(new Date(dataCur))/1000;//转换为时间戳
5     dataCurPar += 86400 * 5;//加5天后的时间戳
6     var dataDefPar = new Date(parseInt(dataCurPar) * 1000);//转换为时间
7     var dataDef = dataDefPar.getFullYear() + '-' + (dataDefPar.getMonth() + 1) + '-' + (dataDefPar.getDate());
原文地址:https://www.cnblogs.com/whycai/p/12589402.html