開始日と期間を指定して終了日を計算する必要があります。開始日は日付、期間は年数です。したがって、終了日は : になりますstart date + duration - 1 day
。
たとえば、開始日が15/06/2012
で期間が 12 か月の場合、終了日は になります14/06/2013
。
どうすればこれを達成できますか?
開始日と期間を指定して終了日を計算する必要があります。開始日は日付、期間は年数です。したがって、終了日は : になりますstart date + duration - 1 day
。
たとえば、開始日が15/06/2012
で期間が 12 か月の場合、終了日は になります14/06/2013
。
どうすればこれを達成できますか?
JS で日付を操作するために、私は常に 7 つの関数を作成します: addSeconds、addMinutes、addHours、addDays、addWeeks、addMonths、addYears。
ここで例を見ることができます: http://jsfiddle.net/tiagoajacobi/YHA8x/
使い方:
var now = new Date();
console.log(now.addWeeks(3));
console.log(now.addYears(1));
console.log(now.addDays(-20));
これは関数です:
Date.prototype.addSeconds = function(seconds) {
this.setSeconds(this.getSeconds() + seconds);
return this;
};
Date.prototype.addMinutes = function(minutes) {
this.setMinutes(this.getMinutes() + minutes);
return this;
};
Date.prototype.addHours = function(hours) {
this.setHours(this.getHours() + hours);
return this;
};
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + days);
return this;
};
Date.prototype.addWeeks = function(weeks) {
this.addDays(weeks*7);
return this;
};
Date.prototype.addMonths = function (months) {
var dt = this.getDate();
this.setMonth(this.getMonth() + months);
var currDt = this.getDate();
if (dt !== currDt) {
this.addDays(-currDt);
}
return this;
};
Date.prototype.addYears = function(years) {
var dt = this.getDate();
this.setFullYear(this.getFullYear() + years);
var currDt = this.getDate();
if (dt !== currDt) {
this.addDays(-currDt);
}
return this;
};
jQuery でこれを行うことはできません。次のように Javascript で行う必要があります。
<script type="text/javascript">
// Todays date in milliseconds
var today=new Date().getTime();
// Add milliseconds in a year (minus one day) to todays date
var yearLater=new Date(today + ((31557600 - 86400) * 1000));
document.write(yearLater);
</script>
日付を追加するのに jQuery は必要ありません。Javascript はそれを行うのに十分素晴らしいです。
var myDate=new Date(year,month,date,0,0,0).getTime();
var day_milli= 1000*60*60*24;
var newDate=new Date(myDate + day_milli * (duration -1));
alert(newDate);