jQuery 各种浏览器下获得日期区别

Sunjing鹏

Sunjing鹏

2016-02-19 16:06

有了下面这个jQuery 各种浏览器下获得日期区别教程,不懂jQuery 各种浏览器下获得日期区别的也能装懂了,赶紧get起来装逼一下吧!
如果在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开始的,所以我们要把获得月份加一。
展开更多 50%)
分享

猜你喜欢

jQuery 各种浏览器下获得日期区别

Web开发
jQuery 各种浏览器下获得日期区别

JQUERY 浏览器判断实现函数

Web开发
JQUERY 浏览器判断实现函数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

各种浏览器兼容问题

Web开发
各种浏览器兼容问题

360安全浏览器和极速浏览器有什么区别?

浏览器
360安全浏览器和极速浏览器有什么区别?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

360安全浏览器和360极速浏览器的区别技巧

windows
360安全浏览器和360极速浏览器的区别技巧

FireFox浏览器和IE浏览器下CSS兼容问题

Web开发
FireFox浏览器和IE浏览器下CSS兼容问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

深入浅出MySQL双向复制技术

深入浅出MySQL双向复制技术

javascript jQuery插件练习

javascript jQuery插件练习
下拉加载更多内容 ↓