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 简单应用示例总结
Aug 09 Javascript
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 Javascript
浅谈重写window对象的方法
Dec 29 Javascript
解决ueditor jquery javascript 取值问题
Dec 30 Javascript
Java与JavaScript中判断两字符串是否相等的区别
Mar 13 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
使用vue实现grid-layout功能实例代码
Jan 05 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
微信小程序实现下滑到底部自动翻页功能
Mar 07 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 Javascript
angular共享依赖的解决方案分享
Oct 15 Javascript
利用JS判断元素是否为数组的方法示例
Jan 08 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微信开发之谷歌测距
2018/06/14 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python逆向入门教程
2018/01/15 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
详解Python字符串切片
2019/05/20 Python
用python解压分析jar包实例
2020/01/16 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
超市开业庆典活动策划方案
2014/09/15 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
Elasticsearch 基本查询和组合查询
2022/04/19 Python
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis