我从 2012-12-31 格式的 JSON 对象中获取日期,并尝试将其转换为友好值并输出。
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 中,我得到了预期:
仅适用于 2012 年 9 月 2 日星期日
但在 Safari 和 IE 中,我得到:
有效的 undefined NaN undefined NaN ONLY
当我将可赎回日期设置为日期对象后发出警报时,Safari 会返回“无效日期”,而 IE 会返回“NaN”。这显然是问题所在。有没有办法可以将我的值转换为这些浏览器的日期对象?