проблема с объектом даты JavaScript в Safari и IE

Я беру дату из объекта JSON в формате 2012 -12 -31 и пытаюсь преобразовать ее в понятные значения и вывести.

    var redeemableDate = item.Deal.RedeemableDate; //this is coming in the form of 2012-12-31
    var redeemableDate = new Date(redeemableDate);
    var rdDay = weekday[redeemableDate.getDay()]; //using an array with weekdays
    var rdDate = redeemableDate.getDate();
    var rdMonth = monthNames[redeemableDate.getMonth()]; //using an array with month names
    var rdYear = redeemableDate.getFullYear();

    response.write('Valid ' + rdDay + ' ' + rdDate + ' ' + rdMonth + ' ' + rdYear + ' ONLY');

Все это прекрасно работает в Firefox и Chrome, но Safari и IE (тестировались пока только на IE8 )и им это не нравится.

В FF и Chrome я получаю ожидаемое:

Valid Sunday 2 September 2012 ONLY

Но в Safari и IE я получаю:

Valid undefined NaN undefined NaN ONLY

Когда я предупреждаю redeemableDate после того, как установил его как объект Date, Safari возвращает «Неверная дата», а IE возвращает «NaN». Очевидно, в этом и заключается проблема. Есть ли способ получить свое значение в объект даты для этих браузеров?

9
задан Fraser 28 June 2012 в 21:44
поделиться