11 月 30 日 (任意の年) に近い日を追加しようとすると、コードの動作がおかしくなりました。
Date.prototype.addDays = function(days){
this.setDate(this.getDate() + days);
return this;
};
function calculateDate(string_date, days_to_add){
var arr, dat;
arr = string_date.split(" ");
dat = new Date(2013, (("enefebmarabrmayjunjulagosepoctnovdic".indexOf(arr[1])+3)/3), (((arr[0].charAt(0)!="0")?arr[0]:arr[0].substring(1))*1));
dat.addDays(days_to_add*1);
return (dat.getDate() + "/" + dat.getMonth() + "/"+dat.getFullYear());
}
今私が使用する場合:
calculateDate("07 nov",24);
戻ります31/11/2013
(私のカレンダーによると、今年の 2013 年 11 月は 30 で止まります)calculateDate("07 nov",25);
戻り値1/0/2014
私のコードは他の月や日付でも問題なく動作するようですが、11 月から 12 月にかけてコードが正しく動作しないのはなぜですか? コンピューターは感情を発達させ、仕事を続けるために休暇を要求しますか?