Javascript的getYear、getFullYear、getUTCFullYear异同分享


Posted in Javascript onNovember 30, 2011

其中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 相关文章推荐
JQuery对表单元素的基本操作使用总结
Jul 18 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
Sep 12 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
Jun 03 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
Nov 15 Javascript
微信小程序 PHP生成带参数二维码
Feb 21 Javascript
ES6中Generator与异步操作实例分析
Mar 31 Javascript
浅谈ElementUI中switch回调函数change的参数问题
Aug 24 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
Aug 25 Javascript
Fetch超时设置与终止请求详解
May 18 Javascript
基于layPage插件实现两种分页方式浅析
Jul 27 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
chrome原生方法之数组
Nov 30 #Javascript
使用Javascript接收get传递的值的代码
Nov 30 #Javascript
关于递归运算的顺序测试代码
Nov 30 #Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
Nov 30 #Javascript
Jquery插件之打造自定义的select标签
Nov 30 #Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
Nov 30 #Javascript
jquery中dom操作和事件的实例学习-表单验证
Nov 30 #Javascript
You might like
PHP 中执行系统外部命令
2006/10/09 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
jquery自定义表格样式
2015/11/23 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
类如何去实现接口
2013/12/19 面试题
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
党员学习十八大感想
2014/01/17 职场文书
写给导师的自荐信
2015/03/06 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书