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

如果在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开始的,所以我们要把获得月份加一。

(0)

相关推荐

  • 基于jQuery的日期选择控件

    但是也有些问题,第一画日历有点慢,第二兼容性不太好IE Only,第三它不是基于jQuery的哈哈. 那还是老规矩,做之前先看下效果   这下是更酷的Ext风格了. 从上图我们可以看出这个控件其实有两个视图一个日期月视图,还有一个是年月选择视图. 1:还是先从HTML入手 日期控件确定HTML其实还是比较简单,因为明摆着是列表的数据格式,当然主要是采用table了. 两个视图分别用两个Div包裹,控制div的显示隐藏即可以切换视图了.完整的HTMl结构大家可以用IEDeveloper看一下Dem

  • JQuery EasyUI 日期控件如何控制日期选择区间

    复制代码 代码如下: <tr><th>发售起始日期</th> <td><input type="text" id="usLineTime" name="usLineTime" size="20" class='easyui-validatebox Wdate' onFocus="WdatePicker({el:'usLineTime',dateFmt:'yyyy-

  • 获取客户端电脑日期时间js代码(jquery)

    原生态javascript获取日期 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript">var myDate = new Date();    myDate.getYear();       //获取当前年份(2位)    myDate.getFullYear();   //获取完整的年份(4位,1970-????)    myDate.getMonth();      //获取当前月份(0-11,0代表1月)    myDate.getDat

  • jQuery之日期选择器的深入解析

    1:默认情况下,日期输入文本框获得页面焦点的时候,日期选择器组件会在一个覆盖层中打开日历选择面板,当日期输入文本框失去焦点或者选择一个日期的时候,将自动关闭该日历选择面板$(selector).datepicker([options]);简单实例: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml

  • 基于jquery的web页面日期格式化插件

    复制代码 代码如下: (function ($) { var FormatDateTime = function FormatDateTime() { }; $.FormatDateTime = function (obj, IsMi) { var correcttime1 = eval('( new ' + obj.replace(new RegExp("\/", "gm"), "") + ')'); var myDate = correctt

  • jquery实现在页面加载的时自动为日期插件添加当前日期

    在页面加载的时候自动为日期插件添加当前日期. <script type="text/javascript"> $(document).ready(function(){ $("#startTime").val(formatDate()); $("#endTime").val(formatDate()); } jsp页面的body部分代码: <td><label>日期:</label></td&

  • 基于JQuery的日期联动实现代码

    实现目标: 两个日期,有下拉框: 复制代码 代码如下: <head> //导入jquery地址 <script src="(Jquery地址)" language="JavaScript" type="text/javascript"></script> <script type="text/javascript"> //startYear发生变化 function change

  • jquery select操作的日期联动实现代码

    Jquery的选择器很强大,对select的options对象添加的时候我找了老半天才找到 复制代码 代码如下: /**//* 文件名:jquery.liu.select.js 功能说明:本js文件为jquery类库的一个插件,主要实现对select的操作. 作者:John Liu 编写日期:2008/03/12 */ //得到select项的个数 jQuery.fn.size = function() { return jQuery(this).get(0).options.length; }

  • jquery获取当前日期的方法

    本文实例讲述了jquery获取当前日期的方法.分享给大家供大家参考. 具体如下: 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>jquery当前日期</title> <script type="text/javascript"

  • jquery 日期分离成年月日的代码

    复制代码 代码如下: function bh_LoadViewState(){ var v=$("#hBirthday").val(); if(v=="")return; var birthday=new Date(Date.parse(v.replace(/-/g, '/'))) $("#ddlYear").val(birthday.getFullYear()); $("#ddlMonth").val(birthday.ge

随机推荐