Js中处理日期加减天数

时间:2022-07-05 08:29:47

Js的处理日期还是很方便的。

一、 格式化日期为2017-07-04的格式

function formatTime(date) {
var year = date.getFullYear();
var month = date.getMonth()+1, month = month < 10 ? '0' + month : month;
var day = date.getDate(), day =day < 10 ? '0' + day : day;
return year + '-' + month + '-' + day;
}
var now = new Date(); //Wed Jul 05 2017 13:50:11 GMT+0800 (中国标准时间)
formatTime(now) //"2017-07-05"

二、实现加减一天

在此项目中日期已经是2017-07-04这样的格式,那加减天数怎么做呢?我首先想到的是使用split('-')方式拿到日期的项,然后实现加减再拼接到原来的年月上面。可是这样有一个问题:如果超过了当前月份的天数要在月份上加一,那这需要先拿到每个月份的日期数,然后做判断,十分麻烦。只好求助百度,发现了一个setDate()的方法,简直爽爆有木有。

现在时间格式是2017-07-05,需要先转换为Wed Jul 05 2017 13:50:11 GMT+0800 (中国标准时间)这种型式。

var now = now.split('-')
now = new Date(Number(now['0']),(Number(now['1'])-1),Number(now['2']))

这时候就可以利用setDate()方法

now.setDate(now.getDate() + 1)

setDate()不会返回任何值,而now的值会发生改变。