new date() 在firefox, IE, google Chrone的兼容工作

时间:2022-12-06 18:06:45

  我们知道firefox 不兼容new date()格式化日期。 

用JS格式化日期时发现,firefox中解析 new date(“2012-12-23 12:12:12”) 时不兼容,系统提示invalid date 无效的日期, 但是在 Chrome 或者 windowns IE 下是可以工作的。 

下面就是一个通用的datetime string转换成date类型的通用函数,可以在jsp中,适用于irefox, IE, google Chrone 等浏览器

                         //datetime maker compatible in firefox/IE/Chrome browser
//@parameter <span style="font-family: Tahoma;">dateStr</span><span style="font-family: Tahoma;">: datetime string with format "mm-dd-yyyy HH:mm:ss" </span>
//@return: Date Object applicable in firefox/IE/Chrome browser
function GetDateTimeByUS_DateTimeStr(dateStr) {
var timeArr=dateStr.split(" ");
var d=timeArr[0].split("-");
var t=timeArr[1].split(":");

//JS API: new date("Year","Month","Day","Hour","Minutes","Seconds");
return new Date(d[2],(d[0]-1),d[1],t[0],t[1],t[2]);
}
用法例子如下:            

function pageSubmit(pageNoParam) {
// change date format in datetimepicker to yyyy-mm-dd used in Backend Java System
if($("#createStartTime1").val() !="") {
var mydate = GetDateTimeByUS_DateTimeStr($("#createStartTime1").val());
var strdate = mydate.format("yyyy-MM-dd HH:mm:ss");
$("#createStartTime").val(strdate);
}

if($("#createEndTime1").val()!="") {
var myenddate = GetDateTimeByUS_DateTimeStr($("#createEndTime1").val());
var strenddate = myenddate.format("yyyy-MM-dd HH:mm:ss");
$("#createEndTime").val(strenddate);
}
}