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 相关文章推荐
使用EXT实现无刷新动态调用股票信息
Nov 01 Javascript
30个精美的jQuery幻灯片效果插件和教程
Aug 23 Javascript
js setTimeout 参数传递使用介绍
Aug 13 Javascript
js中传递特殊字符(+,&)的方法
Jan 16 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 Javascript
javascript中字符串拼接详解
Sep 26 Javascript
跟我学习javascript解决异步编程异常方案
Nov 23 Javascript
jquery对象和DOM对象的任意相互转换
Feb 21 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
May 20 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
Mar 08 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
Sep 28 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 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中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
百度地图api如何使用
2015/08/03 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
Python 硬币兑换问题
2019/07/29 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
django使用JWT保存用户登录信息
2020/04/22 Python
PHP笔试题
2012/02/22 面试题
经典c++面试题六
2012/01/18 面试题
小学生学习雷锋倡议书
2014/05/15 职场文书
商场周年庆活动方案
2014/08/19 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python