亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript 中日期的setDate()方法問題?

javascript 中日期的setDate()方法問題?

瀟瀟雨雨 2018-07-26 16:26:24
如下使用循環,每次日期減去7天,后可以得到對應的7天前的日期。var date=new Date();for(i=0;i<10;i++){date.setDate(date.getDate()-7);console.log(date);}接下來,使用方法封裝一個每次減去7的函數function changedate(date){var datenew=new Date();datenew.setDate(date.getDate()-7);return datenew;}然后再去用循環調用這個方法,輸出的結果每次跨月份的時候,就不正常,這是什么原理?var date=new Date();for(i=0;i<10;i++){date=changedate(date);console.log(date);}
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

function changedate(date){
date.setDate(date.getDate()-7);
return date;
}
setDate只有一個天的參數,不是日期。下面是MDN的函數說明:
dateObj.setDate(dayValue)
Parameters
dayValue
An integer representing the day of the month.
類似你做的,在函數里如果新建一個日期,那返回的永遠是當月和前月的日期。
運行一下下面的代碼,可能更直觀??缭聲rdate.getDate()-7返回的是一個負值。
var date=new Date();
for(i=0;i<10;i++){
date=changedate(date);
console.log(date.getDate()-7);
console.log(date);
}


查看完整回答
反對 回復 2018-07-31
  • 1 回答
  • 0 關注
  • 1595 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號