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 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
用js遍历 table的脚本
Jul 23 Javascript
Javascript中的var_dump函数实现代码
Sep 07 Javascript
jQuery实现id模糊查询的小例子
Mar 19 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
Aug 21 Javascript
JS控制HTML元素的显示和隐藏的两种方法
Sep 27 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
在微信小程序中保存网络图片
Feb 12 Javascript
createObjectURL方法实现本地图片预览
Sep 30 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
第九节--绑定
2006/11/16 PHP
php 表单数据的获取代码
2009/03/10 PHP
php 注释规范
2012/03/29 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
Python 模块EasyGui详细介绍
2017/02/19 Python
pyshp创建shp点文件的方法
2018/12/31 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
社区包粽子活动方案
2014/01/21 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
品牌推广策划方案
2014/05/28 职场文书
地方白酒代理协议书
2014/10/25 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
python异常中else的实例用法
2021/06/15 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技