javascriptparsingdategoogle-chromesafari

Date parsing in javascript is different between safari and chrome


I have the following code

var c = new Date(Date.parse("2011-06-21T14:27:28.593Z"));
console.log(c);

On Chrome it correctly prints out the date on the console. In Safari it fails. Who is correct and more importantly what is the best way to handle this?


Solution

  • You can't really use Date.parse. I suggest you use: new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] )

    To split the string you could try

    var s = '2011-06-21T14:27:28.593Z';
    var a = s.split(/[^0-9]/);
    //for (i=0;i<a.length;i++) { alert(a[i]); }
    var d=new Date (a[0],a[1]-1,a[2],a[3],a[4],a[5] );
    alert(s+ " "+d);