Javascript date.getYear()在2011年返回111?
我有这个JavaScript自动设置一个datefilter到上个月的第一天和最后一天:
$(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()
返回111,而不是预期的2011年。是否有什么明显的我错过了?
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getYear
getYear
不再被使用,并被getFullYear
方法取代。
getYear
方法返回年份减去1900; 从而:
- 对于大于或等于2000年的年份,
getYear
返回的值为100或更大。 例如,如果年份是2026年,getYear
返回126。- 对于1900年和1999年之间的年份,
getYear
返回的值介于0到99之间。例如,如果年份是1976,getYear
返回76。- 对于小于1900的年份,
getYear
返回的值小于0.例如,如果year为1800,getYear
返回-100。- 考虑到2000年之前和之后的几年,您应该使用
getFullYear
而不是getYear
以便全年指定年份。
为了遵守骨头的先例, getYear()
返回自1900年以来的年数。
相反,你应该调用getFullYear()
,它返回实际的年份。
从我读过的Mozilla的JS页面中,getYear已经被弃用了。 正如很多时候指出的那样, getFullYear()
是要走的路。 如果你真的想使用getYear()
将1900添加到它。
var now = new Date(), year = now.getYear() + 1900;