Js中处理日期加减天数
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的值会发生改变。