【发布时间】:2012-06-30 11:41:38
【问题描述】:
我从 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”。这显然是问题所在。有没有办法可以将我的值放入这些浏览器的日期对象中?
【问题讨论】:
标签: javascript internet-explorer date safari