日付フィルターを前月の最初と最後の日に自動的に設定するための次のjavascriptがあります。
$(document).ready(function () {
$("#DateFrom").datepicker({ dateFormat: 'dd/mm/yy' });
$("#DateTo").datepicker({ dateFormat: 'dd/mm/yy' });
var now = new Date();
var firstDayPrevMonth = new Date(now.getYear(), now.getMonth() - 1, 1);
var firstDayThisMonth = new Date(now.getYear(), now.getMonth(), 1);
var lastDayPrevMonth = new Date(firstDayThisMonth - 1);
$("#DateFrom").datepicker("setDate", firstDayPrevMonth);
$("#DateTo").datepicker("setDate", lastDayPrevMonth);
});
しかし、now.getYear()
は、予想される2011年ではなく111を返します。見逃したことは明らかですか?
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getYear
getYear
は使用されなくなり、getFullYear
メソッドに置き換えられました。
getYear
メソッドは、年から1900を引いた値を返します。副<文>この[前述の事実の]結果として、それ故に、従って、だから◆【同】consequently; therefore <文>このような方法で、このようにして、こんなふうに、上に述べたように◆【同】in this manner <文>そのような程度まで<文> AひいてはB◆【用法】A and thus B <文>例えば◆【同】for example; as an example:
- 2000年以上の場合、
getYear
によって返される値は100以上です。たとえば、年が2026の場合、getYear
は126を返します。- 1900年から1999年までの年の場合、
getYear
によって返される値は0から99です。たとえば、年が1976の場合、getYear
は76を返します。- 1900年未満の場合、
getYear
によって返される値は0未満です。たとえば、年が1800の場合、getYear
は-100を返します。- 2000年の前後の年を考慮するには、
getFullYear
の代わりにgetYear
を使用して、年を完全に指定する必要があります。
骨抜きの先例に準拠するために、getYear()
は1900年からの年数を返します。
代わりに、実際の年を返すgetFullYear()
を呼び出す必要があります。
MozillaのJSページで読んだことから、getYearは非推奨です。何度も指摘されているように、getFullYear()
が道です。本当にgetYear()
を使用したい場合は、1900を追加してください。
var now = new Date(),
year = now.getYear() + 1900;