作家
登录

Javascript的getYear、getFullYear、getUTCFullYear异同分享

作者: 来源:www.28hudong.com 2013-03-30 00:38:47 阅读 我要评论

其中getYear()方法出生较早,在早期也一直使用OK,可是在2000年后这个方法问题多多,因为在Firefox和Safari等浏览器上,getYear始终返回年份与1900 年之间的差,比如1998年返回98,而2009年则会显示109,如果大家都这么处理也好,要加一起加,微软自己在IE浏览器中把getYear给修正了,可Firefox(最新版本也没修正这个问题)还蒙在鼓里,仍老老实实的按照原有规则解析getYear,本来都可以指望用户自行修正,这样一来都没得用,于是getFullYear、getUTCFullYear就出生了。 1、getYear()函数 使用getYear()方法可返回两位或四位数的年份,用getYear()返回的数并不一定是4位的!处于1900年和1999年间的getYear()方法返回的只有两位数。在此之前的或是在此之后的年份返回的都是四位数的,比如2009年,Javascript解析器应该是返回2009的,而浏览器则计算返回109。这应该是早期的约定,而IE埋头改掉了。该函数已经被逐渐废弃并不推荐使用。 复制代码 代码如下: <script type="text/javascript"> var d = new Date(); document.write(d.getYear());//IE输出2009,FIREFOX输出109 </script> 2、getFullYea()函数 getFullYear函数则不存在此问题。getFullYear()方法可返回一个四位数年份,这样大家(IE和FIREFOX等)都不需要运算,直接把解析值输出来即可。 复制代码 代码如下: <script type="text/javascript"> var d = new Date(); document.write(d.getFullYear());//IE输出2009,FIREFOX输出2009 </script> 3、getUTCFullYear()函数 getUTCFullYear()函数则是根据UTC时间返回了四位数来代表年份。与getFullYear()方法理论角度是完全不同,虽然在大部分的时间里输出是相同的,但是假如当天日期是12月31日或1月1日,则getUTCFullYear() 返回值与getFullYear()返回值就有可能不同,具体取决于当地时区和UTC通用时间之间的关系,也就是差值。 复制代码 代码如下: <script type="text/javascript"> var d = new Date(); document.write(d.getUTCFullYear());//IE输出2009,FIREFOX输出2009 </script> 比如在中国大陆、、香港、澳门、蒙古国、台湾、新加坡、马来西亚、菲律宾等地区的本地时间比UTC快8小时,记作UTC+8,意思就是比UTC时间快8小时。减的类似理解,比如UTC-10等。

  推荐阅读

  javascript开发随笔一 preventDefault的必要

不加的话貌似只在ie6出现过问题。出现过:改变图片地址,结果图片不见了,加载样式,但样式文件没了。就像是中断了资源的下载一样,正确时解释是 IE6下使用A元素来做按钮的时候一定要记得在onclick事件里面调用pre>>>详细阅读


本文标题:Javascript的getYear、getFullYear、getUTCFullYear异同分享

地址:http://www.17bianji.com/kaifa2/JS/23899.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)