小编典典

Javascript date.getYear() 在 2011 年返回 111?

all

我有这个 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()返回 111 而不是预期的 2011。有什么明显的我错过了吗?


阅读 90

收藏
2022-08-17

共1个答案

小编典典

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。例如,如果年份是 1800,则getYear返回 -100。
  • 要考虑到 2000 年之前和之后的年份,您应该使用getFullYear而不是,getYear以便完整指定年份。
2022-08-17