JavaScript教程:网页时间问题

2016-02-20 00:55 1 1 收藏

今天图老师小编给大家介绍下JavaScript教程:网页时间问题,平时喜欢JavaScript教程:网页时间问题的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

    在浏览几个网页时,发现有几个网站在显示时间时存在问题,比如今天是2009年1月4日,但是有的网站上却赫然写着今天是109年1月4日(这里有个例子就是中国银行的网站首页)。这是一个奇怪的问题,可看这些网站的代码,大致如下:

var today;    today = new Date();    document.write(today.getYear());  

从上面的代码来看并不存在任何问题!但是当我们运行这段代码时却发现,在不同的浏览器中返回的结果并不同:在Internet Explorer中返回的是2009,在Firefox、Chrome等浏览器中返回的是109。由于目前使用Internet Explorer的用户依然占居绝对多数,因为这个问题很难被发现。不过这足以说明IE和其它浏览器对于getYear()的解释并不一致(这也是Internet Explorer的一贯作风),但是问题究竟出现在哪里呢?是浏览器本身的问题还是Javascript出现了问题呢?我们姑且不去讨论这个,我们先来看看getYear()的具体作用:

在非Internet Explorer浏览器中,getYear()函数返回的是1900到1999间的两位十进制数字,比如1999年,返回是99,这和实际年份正好相同;但是如果年份走出了1999,那么就会一个3位的十进制数字,比如2000年,返回的就是100(99+1),2009返回的就是109(99+10);

如何解决这个问题?

很简单,使用getFullYear()这个函数。

在所有的浏览器中,getFullYear()返回的一个四位数的十进制数字。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

因此,如果时间不超过9999年,那么就会一直有效。

getYear()和getFullYear()的区别

几点建议:

使用多个浏览器测试你的网站。这一点已经不用多说了,这里指的多个浏览器不仅仅是不同类别的浏览器,更包括了浏览器的不同版本; 获得时间使用服务器端还是客户端。在多数情况下,我建议直接在服务器端获得时间然后再输送到用户浏览器,这样不会因为用户机器时间设置不同而出现问题。但是这也存在一个问题,那就是不同时区内的访问者可能看到的是同一个时间。如果你的网站访问者人群相对固定,那么建议直接在服务器端直接获得时间(这不会浪费太多的解析时间)。

来源:https://www.tulaoshi.com/n/20160220/1632853.html

延伸阅读
标签: Web开发
1.当前系统区域设置格式(toLocaleDateString和toLocaleTimeString) 例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString() 结果: 2008年1月29日 16:13:11 2.普通字符串(toDateString和toTimeString) 例子: (new Date()).toDateString() + " " + (new Date()).toTimeString() 结果:T...
<script language="JavaScript" var hkey_root,hkey_path,hkey_key hkey_root="HKEY_CURRENT_USER" hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\" //设置网页打印的页眉页脚为空 function pagesetup_null(){ try{ var RegWsh = new ActiveXObject("WScript.Shell") hkey_key="header" RegWsh.RegWrite(hkey_root+hkey...
标签: Web开发
浏览本站的 Javascript教程 栏目内容。 常规循环引用内存泄漏和Closure内存泄漏 要了解javascript的内存泄漏问题,首先要了解的就是javascript的GC原理。 我记得原来在犀牛书《JavaScript: The Definitive Guide》中看到过,IE使用的GC算法是计数器,因此只碰到循环 引用就会造成memory leakage。后来一直觉得和观察到的现象很不一...
标签: Web开发
本来想做一个集合浮动定位和鼠标跟随的tooltips效果,但发现定位和鼠标跟随在一些关键的地方还是不同的,还是分开来吧。 这个效果本身难度不大,主要在程序结构和扩展中下了些功夫,务求用起来更方便,能用在更多的地方。 程序特点 同一个提示框用在多个触发元素时,只需一个实例; 显示和隐藏分别有点击方式和触发方式选择; 能设置...
标签: 浏览器
IE浏览网页时背景都是灰色   在使用IE浏览网页的时候,无论是什么网站,背景颜色都是灰色的。这种情况一般是由于IE设置问题造成的,可以根据以下方法进行修改。 1.打开Internet选项,然后在常规中,单击颜色。 2.打开颜色后,将Windows颜色选中。 3.单击确定,就完成了对颜色的设置,再浏览网页的时候,颜色就不...

经验教程

713

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部