jQuery 各种浏览器下获得日期区别


Posted in Javascript onDecember 22, 2008

如果在IE下执行:

var currentDate = new Date(); 
alert(currentDate.getYear());

会弹出2008,但是在FF下就是108,这是为什么呢?
首先了解一下“格林威治标准时 (GMT)”时间,它是从1900年开始,我们来看一下这个运算表达式:108 + 1900 = 2008
原因是FF没有加上1900这个年份,然后代码如下:
/** 
* 获得当前的日期 
* 
* @return {} 
*/ 
function getCurrentDate() { 
var userAgent = navigator.userAgent.toLowerCase(); 
// 因IE的年为2008和FF为108,判断 
var currentYear = currentDate.getYear(); 
if ($.browser.mozilla) { 
currentYear += 1900; 
} 
var currentDateStr = currentYear + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate(); 
return currentDateStr; 
};

问题解决了,测试成功
后来又在GOOGLE浏览器chrome下运行系统竟然也遇到了同样的问题……
大家看看这个判断:
if ($.browser.mozilla)
这里判断是否为FF浏览器,上面的代码已经通过测试,那么GOOGLE浏览器怎么办呢?
同样我也做了一个判断:
var userAgent = navigator.userAgent.toLowerCase();
var chrome = /chrome/.test(userAgent);
这里套用jQuery的浏览器判断方法,用正则表达式获得浏览器的一系列参数,然后查询有没有chrome字符串,有就是GOOGLE的浏览器,所以最后的代码就是:
/** 
* 获得当前的日期 
* 
* @return {} 
*/ 
function getCurrentDate() { 
var userAgent = navigator.userAgent.toLowerCase(); 
//判断是否为google的浏览器 
var chrome = /chrome/.test(userAgent); 
var currentDate = new Date(); 
// 因IE的年为2008和FF为108,判断 
var currentYear = currentDate.getYear(); 
if ($.browser.mozilla || chrome) { 
currentYear += 1900; 
} 
var currentDateStr = currentYear + '-' + (currentDate.getMonth() + 1) + '-' 
+ currentDate.getDate(); 
return currentDateStr; 
};

其他浏览器按照逻辑推就可以了
最后还有一点要注意的就是获得月份的方法:currentDate.getMonth() + 1,因为日期在最初设计的时候是从0开始的,所以我们要把获得月份加一。
Javascript 相关文章推荐
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
js简易namespace管理器 实例代码
Jun 21 Javascript
document.write()及其输出内容的样式、位置控制
Aug 12 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
JS正则表达式验证中文字符
May 08 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
vue实现微信分享链接添加动态参数的方法
Apr 29 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 Javascript
Echarts地图添加引导线效果(labelLine)
Sep 30 Javascript
解决VUEX的mapState/...mapState等取值问题
Jul 24 Javascript
JavaScript CSS菜单功能 改进版
Dec 20 #Javascript
JavaScript 字符串连接性能优化
Dec 20 #Javascript
js一组验证函数
Dec 20 #Javascript
flash javascript之间的通讯方法小结
Dec 20 #Javascript
javascript this用法小结
Dec 19 #Javascript
js 提交和设置表单的值
Dec 19 #Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
Dec 19 #Javascript
You might like
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
JS中的一些常用的函数式编程术语
2019/06/15 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
vue实现井字棋游戏
2020/09/29 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
在Python中定义和使用抽象类的方法
2016/06/30 Python
pyenv命令管理多个Python版本
2017/03/26 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
Python Subprocess模块原理及实例
2019/08/26 Python
解决Python中回文数和质数的问题
2019/11/24 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
监察建议书范文
2014/03/12 职场文书
协议书模板
2014/04/23 职场文书
应届毕业生求职信
2014/05/26 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
Mysql Show Profile
2021/04/05 MySQL