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
Post a Comment