javascript中new Date(****)结果为invalid date或为null解决方法

在js中使用new Date(arg) 创建一个日期时,结果为invalid date。
转自 http://blog.csdn.net/erike_zhang/article/details/38511451

var time="2014-08-12 09:25:24 ";
var time1 = new Date(time);
console.log("time1"+time1);

chrome time1: Tue Aug 12 2014 09:25:24 GMT+0800 (中国标准时间)

火狐 time1 : Invalid Date

错误原因:参数格式不规范,不能兼容所有浏览器

创建一个日期对象:
var objDate=new Date([arguments list]);
参数形式有以下5种:

 new Date("month dd,yyyy hh:mm:ss");
   new  Date("month dd,yyyy");
   new  Date(yyyy,mth,dd,hh,mm,ss);
   new Date(yyyy,mth,dd);
   new Date(ms);

month:用英文表示月份名称
mth:用整数表示月份
dd:表示一个月中的第几天
yyyy:四位数表示的年份
hh:小时数
mm: 分钟数
ss:秒数
ms:毫秒数

正确写法

var time="2014-08-12 09:25:24 ";
time=time.replace(/-/g,':').replace(' ',':');
time=time.split(':');
var time1 = new Date(time[0],(time[1]-1),time[2],time[3],time[4],time[5]);
console.log("time1"+time1);

结果:
time1:Date 2014-08-12T01:25:24.000Z

你可能感兴趣的:(javascript中new Date(****)结果为invalid date或为null解决方法)