首页 > 代码库 > easyui的dataGrid生成的日期时间,总是不能很好的兼容ie8和谷歌,终于摸索出一个合适的办法

easyui的dataGrid生成的日期时间,总是不能很好的兼容ie8和谷歌,终于摸索出一个合适的办法

easyui的dataGrid生成的日期时间,总是不能很好的兼容ie8和谷歌,终于摸索出一个合适的办法

/**
* 时间格式化 返回格式化的时间
* @param date {object} 可选参数,要格式化的data对象,没有则为当前时间
* @param fomat {string} 格式化字符串,例如:‘YYYY年MM月DD日 hh时mm分ss秒 星期‘ ‘YYYY/MM/DD week‘ (中文为星期,英文为week)
* @return {string} 返回格式化的字符串
*
* 例子:
* formatDate(new Date("january 01,2012"));
* formatDate(new Date());
* formatDate(‘YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD week‘);
* formatDate(new Date("january 01,2012"),‘YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY/MM/DD week‘);
*
* 格式:
* YYYY:4位年,如1993
   *  YY:2位年,如93
   *  MM:月份
   *  DD:日期
   *  hh:小时
   *  mm:分钟
   *  ss:秒钟
   *  星期:星期,返回如 星期二
   *  周:返回如 周二
   *  week:英文星期全称,返回如 Saturday
   *  www:三位英文星期,返回如 Sat
*/
function formatDate(date, format) {
if (arguments.length < 2 && !date.getTime) {
format = date;
date = new Date();
}
try {
typeof format != ‘string‘ && (format = ‘YYYY年MM月DD日 hh时mm分ss秒‘);
var week = [‘Sunday‘, ‘Monday‘, ‘Tuesday‘, ‘Wednesday‘, ‘Thursday‘, ‘Friday‘, ‘Saturday‘, ‘日‘, ‘一‘, ‘二‘, ‘三‘, ‘四‘, ‘五‘, ‘六‘];
return format.replace(/YYYY|YY|MM|DD|hh|mm|ss|星期|周|www|week/g, function (a) {
switch (a) {
case "YYYY": return date.getFullYear();
case "YY": return (date.getFullYear() + "").slice(2);
case "MM": return date.getMonth() + 1;
case "DD": return date.getDate();
case "hh": return date.getHours();
case "mm": return date.getMinutes();
case "ss": return date.getSeconds();
case "星期": return "星期" + week[date.getDay() + 7];
case "周": return "周" + week[date.getDay() + 7];
case "week": return week[date.getDay()];
case "www": return week[date.getDay()].slice(0, 3);
}
});
}
catch (x)
{ return date; }
}
//easyUI中datagrid函数的表格,{ field: ‘dDate‘, title: ‘日期‘, formatter: showFormatDate }
function showFormatDate(value, row, index) {
if (value =http://www.mamicode.com/= undefined) return value;
//
var s = value.replace(" ", " ");
var d = 0;
try {
//不兼容ie,兼容谷歌 d.Format("yyyy-MM-dd")
d = new Date(value);
if (!isNaN(d)) return d.Format("yyyy-MM-dd");
//兼容ie
d = new Date(Date.parse(s.replace(/-/g, "/"))); //兼容ie
if (isNaN(d)) return s;
return formatDate(d, "YYYY-MM-DD");
}
catch (x)
{ }
return value;
}
function showFormatBool(value, row, index) {
if (value) return "是"; else return "否";
}

easyui的dataGrid生成的日期时间,总是不能很好的兼容ie8和谷歌,终于摸索出一个合适的办法