JS中Date对象getYear()和getFullYear()的区别

JS中Date对象getYear()和getFullYear()的区别

前一阵子在温习js的时候记录下来的一个知识点,今个有空就在博文总结分享下js中获取当前年份getYear()方法和getFullYear()方法的区别。


getYear()方法

getYear() 方法对于介于 1900 与 1999 之间的年份,getYear() 方法仅返回两位数字。对于 1900 之前或 1999 之后的年份,则返回 4 位数字。

<script type="text/javascript">
    // 获取当前日期时间 Fri Sep 16 2016 11:43:20 GMT+0800 (中国标准时间)
    var nowDate = new Date();
    // 获取当前年份
    var year = nowDate.getYear();
    // IE浏览器显示2016 Fx chrome主流浏览器显示116 存在浏览器兼容问题
    document.write(year);
</script>

因为存在浏览器兼容问题,从 ECMAScript v3 开始,JavaScript 的实现就不再使用该方法,而使用 getFullYear() 方法取而代之。

getFullYear()方法

getFullYear()方法返回的年份,返回值是一个四位数,表示包括世纪值在内的完整年份,而不是两位数的缩写形式。

<script type="text/javascript">
    // 获取当前日期时间 Fri Sep 16 2016 11:43:20 GMT+0800 (中国标准时间)
    var nowDate = new Date();
    // 获取当前年份
    var fullYear = nowDate.getFullYear();
    // 所有浏览器显示2016
    document.write(fullYear);
</script>

两者相互转换

虽然我们现在编码中推荐使用getFullYear() 方法,但是我们仍然需要做到如何去转换,让已过时的getYear()方法可以重新兼容浏览器。
刚刚代码结果可以看出,getYear()方法在IE浏览器和在主流Fx Chrome浏览器中显示的结果相差1900,所以我的转换做法是:

<script type="text/javascript">
    // 获取当前日期时间 
    var nowDate = new Date();
    // 获取当前年份
    var myYears = (nowDate.getYear() < 1900 )?(nowDate.getYear() + 1900): nowDate.getYear();
    // 打印显示2016
    document.write(myYears);
</script>

看到这里想必你对两种方法的使用和理解更加透彻了吧,总结当中也是自我提升。

咳咳,还是那句话

还是要不断学习,因为你还很年轻

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值