当前位置:  开发笔记 > 编程语言 > 正文

为什么Javascript getYear()返回108?

如何解决《为什么JavascriptgetYear()返回108?》经验,为你挑选了4个好方法。

为什么这个javascript会返回108而不是2008?它得到的日期和月份正确但不是一年?

myDate = new Date();
year = myDate.getYear();

年= 108?



1> ConroyP..:

这是一个Y2K的事情,只计算自1900年以来的年份.

现在有一些潜在的兼容性问题getYear()已被弃用getFullYear()- 来自quirksmode:

为了使问题更复杂,现在不推荐使用date.getYear(),你应该使用date.getFullYear(),而旧版浏览器不支持date.getFullYear().但是,如果它有效,它应该总是给出全年,即.2000而不是100.

您的浏览器使用以下两种方法提供以下年份:

* The year according to getYear(): 108
* The year according to getFullYear(): 2008

Internet Explorer和Firefox之间也存在实现差异,因为IE的实现getYear()更改为行为getFullYear()- 来自IBM:

根据ECMAScript规范,getYear返回年份减去1900,最初意味着返回1998年的"98".在ECMAScript版本3中不推荐使用getYear并将其替换为getFullYear().

Internet Explorer将getYear()更改为getFullYear(),并使其符合Y2k标准,而Mozilla保持标准行为.



2> FlySwat..:

由于getFullYear在旧版浏览器中不起作用,您可以使用以下内容:

Date.prototype.getRealYear = function() 
{ 
    if(this.getFullYear)
        return this.getFullYear();
    else
        return this.getYear() + 1900; 
};

Javascript原型可用于扩展现有对象,就像C#扩展方法一样.现在,我们可以这样做;

var myDate = new Date();
myDate.getRealYear();
// Outputs 2008


也许smth像Date.prototype.getRealYear = Date.prototype.getFullYear?Date.prototype.getFullYear:function(){return this.getYear()+ 1900; };

3> skiphoppy..:

检查文档.这不是Y2K问题 - 缺少Y2K问题!这个决定最初是在C中完成的,并被复制到Perl中,显然是JavaScript,可能还有其他几种语言.很久以前,显然仍然觉得使用两位数的年份仍然是可取的,但是设计这个界面的任何人都有足够的预见意识到他们需要考虑2000年及以后会发生什么,所以不要只提供最后两个数字,他们提供了自1900年以来的年数.如果你匆忙或想要冒险,你可以使用两位数.或者,如果您希望程序继续工作,您可以在结果中添加100并使用完整的四位数年份.

我记得第一次在Perl中进行日期操作.奇怪的是,我阅读了文档.显然这不是常见的事情.一年或两年后,我于1999年12月31日被召入办公室,修复了在一些合同Perl代码中最后可能发现的错误,这些错误我从未与之有任何关系.这是一个确切的问题:自1900年以来标准日期调用返回了几年,程序员将其视为两位数的年份.(他们假设他们在2000年会得到"00".)作为一个年轻的没有经验的程序员,我心里想到我们为"专业"工作付了那么多额外费用,那些人甚至都不愿意阅读文档.这是多年幻灭的开始; 现在我老了,愤世嫉俗.:)

在2000年,年度YAPC Perl会议被称为"YAPC 19100",以纪念这个经常报道的非bug.

如今,至少在Perl世界中,使用标准模块进行日期处理更有意义,使用真正的四位数年份.不确定JavaScript可用的内容.



4> Jeremy Ruten..:

它必须返回自1900年以来的年数.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有