Javascript的getYear、getFullYear、getUTCFullYear异同分享

其中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等。

(0)

相关推荐

  • 在JavaScript中操作时间之getYear()方法的使用教程

    javascript Date.getYear()方法返回按照通用时间在指定日期的年份.getYear不再使用,已使用getFullYear方法取代. 通过了getYear返回的值是当前年份减去1900(在JavaScript1.2)及返回或者是2位或4位数字的年份,例如,如果年份是2026年,返回的值是2026所以测试此函数之前,请确保JavaScript的版本. 语法 Date.getYear() 这里是参数的细节: NA 返回值: 按照通用时间返回指定日期的年份. 例子: <html>

  • IE与Firefox下javascript getyear年份的兼容性写法

    IE与Firefox下javascript getyear年份不同浏览器 JavaScript 的getyear年份函数兼容性问题 先举个例子 用 Firefox 上一些网站会看到这样的提示 现在时间是 106年8月8日 而用 ie 浏览器的话就显示正常的 2006年8月8日 原因就是 javascript 的兼容性问题 var today = new date(); var year = today.getYear(); 在 Firefox 里面 getYear 返回的是 "当前年份-1900

  • Javascript的getYear、getFullYear、getUTCFullYear异同分享

    其中getYear()方法出生较早,在早期也一直使用OK,可是在2000年后这个方法问题多多,因为在Firefox和Safari等浏览器上,getYear始终返回年份与1900 年之间的差,比如1998年返回98,而2009年则会显示109,如果大家都这么处理也好,要加一起加,微软自己在IE浏览器中把getYear给修正了,可Firefox(最新版本也没修正这个问题)还蒙在鼓里,仍老老实实的按照原有规则解析getYear,本来都可以指望用户自行修正,这样一来都没得用,于是getFullYear.

  • firefox getyear() getFullYear数获取年份的问题

    Javascript的getYear()函数本意是获得当前"年份",比如: var nowd = new Date(); var yf = nowd.getYear(); alert(yf); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 在IE浏览器下执行为正确的"2008",而是Firefox等浏览器下则执行为"108".原因则是在Firefox等浏览器内getYear返回的是 "当前年份减去1900"的值(

  • JavaScript中实现无缝滚动、分享到侧边栏实例代码

    废话不多说,直接给大家贴代码了,代码解决一起问题! 下面一段代码给大家介绍js无缝滚动实例代码: 代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&

  • javascript请求servlet实现ajax示例(分享)

    ajax请求是一种无刷新式的用户体验,可以发送GET和POST两种异步请求,现记录如下: GET请求: function sendRequestByGet(){ //定义异步请求对象 var xmlReq; //检测浏览器是否直接支持ajax if(window.XMLHttpRequest){//直接支持ajax xmlReq=new XMLHttpRequest(); }else{//不直接支持ajax xmlReq=new ActiveObject('Microsoft.XMLHTTP')

  • JavaScript 实现的checkbox经典实例分享

    JavaScript 实现的checkbox经典实例分享 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>邮件删除</title> <style type="text/css"> *{ margin: 0; padding: 0; } table{ width: 400px; margin-left:200px;

  • JavaScript实现选中文字提示新浪微博分享效果

    本文实例为大家分享了JS新浪微博分享功能,供大家参考,具体内容如下 <!DOCTYPE html> <html xmlns:wb="http://open.weibo.com/wb"> <head> <meta charset="utf-8"> <title>javaScript实现选中文字提示新浪微博分享的效果</title> <style type="text/css&quo

  • JavaScript获取URL参数的方法分享

    目录 一.字符串 split 方法 二.使用 URLSearchParams 方法 1.解析搜索字符串 2.生成搜索字符串 3.Node.js 代码 三.使用正则匹配方法 四.使用第三方库 qs 一.字符串 split 方法 url 地址是字符串形式的,所以利用 split 方法将参数提取出来,该方法比较常用,而且容易理解(无关正则) let URL = "http://www.baidu.com?name=小宇&age=25&sex=男&wife=小君"; f

  • 8个JavaScript条件语句优化小技巧分享

    目录 1.Array.includes 2.Array.every 3.尽早 return 4.三元运算符 5.switch...case 6.Map/Object 7.默认函数参数和解构 8.逻辑与运算符 大家好,我是 CUGGZ. 在日常的开发中,我们经常会编写一些条件语句,过多的 ​ ​if...else​ ​会导致代码难以理解和维护,今天来分享几个优化条件语句的小技巧! 1.Array.includes 来看下面的代码: function test(animal) { if (anima

  • javascript实现 百度翻译 可折叠的分享按钮列表

    自从开始学习前端后,平时看到浏览器上的一些出彩的控件都想自己实现一下O(∩_∩)O,不知大家有没有这个感觉.接下来就和大家分享一个,原控件来自百度翻译右下方,大家仔细找找应该能找到,如图所示: 感觉蛮有意思的,实现起来也不复杂,比较适合练手.好吧,废话不多说了,直接上代码吧. html代码: 复制代码 代码如下: <!DOCTYPE html> <html>     <head>         <meta charset = 'utf-8'/>      

  • 关于javascript作用域的常见面试题分享

    本文主要给大家分享了关于javascript作用域面试题的相关内容,分享出来供大家参考学习,下面来一起看看吧. 一.作用域: 在了解作用域之前,首先需要明白一些基础概念: 每一个变量.函数都有其作用的范围,超出作用不得使用,这个叫做作用域. 二.全局变量.局部变量: 1.全局变量: (1)在全局范围内声明的变量,如var a=1; (2)只有赋值没有声明的值,如a=2; (注:如果a=2在函数环境中,也是全局变量) 2.局部变量: 写入函数中的变量,叫做局部变量. 3.作用: (1)程序的安全.

随机推荐