为什么此javascript返回108而不是2008?它得到正确的日期和月份,但不正确的年份?
myDate = new Date(); year = myDate.getYear();
year= 108?
这是一个Y2K问题,仅计算自1900年以来的年份。
有迹象表明,目前潜在的兼容性问题getYear()已经被弃用,取而代之的getFullYear()-从怪异模式:
getYear()
getFullYear()
为了使事情变得更加复杂,如今不建议使用date.getYear(),而应使用date.getFullYear(),而旧版本的浏览器则不支持。如果有效,则应始终给出整年,即。2000,而不是100。
您的浏览器用以下两种方法给出了以下年份:
* The year according to getYear(): 108 * The year according to getFullYear(): 2008
还有InternetExplorer和Firefox之间实现差异,如IE的实施getYear()已更改为表现得像getFullYear()-从IBM:
根据ECMAScript规范,getYear返回的年份为减去1900的年份,其原本打算在1998年返回“ 98”。getYear在ECMAScript版本3中已弃用,并由getFullYear()代替。
Internet Explorer更改了getYear()以使其类似于getFullYear()并使其与Y2k兼容,而Mozilla保留了标准行为。