internet explorer - javascript date object issue in Safari and IE -


i taking date json object in format of 2012-12-31 , trying convert friendly values , output it.

    var redeemabledate = item.deal.redeemabledate; //this coming in form of 2012-12-31     var redeemabledate = new date(redeemabledate);     var rdday = weekday[redeemabledate.getday()]; //using array weekdays     var rddate = redeemabledate.getdate();     var rdmonth = monthnames[redeemabledate.getmonth()]; //using array month names     var rdyear = redeemabledate.getfullyear();      response.write('valid ' + rdday + ' ' + rddate + ' ' + rdmonth + ' ' + rdyear + ' only'); 

it works find , dandy in firefox , chrome, safari , ie (only tested on ie8 far) don't it.

in ff , chrome expected:

valid sunday 2 september 2012 only

but in safari , ie, get:

valid undefined nan undefined nan only

when alert redeemabledate after have set date object, safari returns 'invalid date' , ie returns 'nan'. issue lies. there way can value date object these browsers?

the yyyy-mm-dd (iso 8601) date format not supported in safari , ie. part of ecmascript 5 though, should matter of time.

a solution pass date in arguments date.

var date = "2012-12-31".split("-"); var your_date = new date(date[0], date[1]-1, date[2]); 

note month parameter starts @ 0 (for january), must subtract 1 value obtained string.

edit: shortcut see answer joe larson below.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c++ - Using OpenSSL in a multi-threaded application -

All overlapping substrings matching a java regex -