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 相关文章推荐
JQuery之拖拽插件实现代码
Apr 14 Javascript
一个简单的瀑布流效果(主体形式自写)
May 27 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
jQuery动态效果显示人物结构关系图的方法
May 07 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
Bootstrap框架下下拉框select搜索功能
Mar 26 Javascript
BootStrap3使用错误记录及解决办法
Dec 22 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
Nov 28 Javascript
了解javascript中变量及函数的提升
May 27 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 08 Javascript
解决vue自定义指令导致的内存泄漏问题
Aug 04 Javascript
JavaScript实现通讯录功能
Dec 27 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中如何使用session实现保存用户登录信息
2015/10/20 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
javascript demo 基本技巧
2009/12/18 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
Python Socket编程详细介绍
2017/03/23 Python
通过实例解析Python调用json模块
2019/12/11 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
销售人员个人求职信
2013/09/26 职场文书
怎样写留学自荐信
2013/11/11 职场文书
家居设计专业个人自荐信范文
2013/11/26 职场文书
工作睡觉检讨书
2014/02/25 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
企业承诺书格式
2014/05/21 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
初中重阳节活动总结
2015/05/05 职场文书
怎样写观后感
2015/06/19 职场文书