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 相关文章推荐
JS 建立对象的方法
Apr 21 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
解决jquery的.animate()函数在IE6下的问题
Dec 03 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
Jun 24 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
JQuery中clone方法复制节点
May 18 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
Aug 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
19个Android常用工具类汇总
2014/12/30 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
python正则表达式之对号入座篇
2018/07/24 Python
python os.path模块常用方法实例详解
2018/09/16 Python
Django stark组件使用及原理详解
2019/08/22 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
2014年幼儿园元旦活动方案
2014/02/13 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
企业培训简报范文
2015/07/20 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
4种方法python批量修改替换列表中元素
2022/04/07 Python