Javascript Sencha Touch日期代码在Chrome上运行良好,但在Safari上失败

Javascript Sencha Touch日期代码在Chrome上运行良好,但在Safari上失败,javascript,google-chrome,extjs,safari,sencha-touch,Javascript,Google Chrome,Extjs,Safari,Sencha Touch,我有以下代码 var date = Ext.Date.format('2013-04-02', 'Y-n-j') var formattedDate=Ext.Date.format('2013-04-02', 'M d') console.log(date); console.log(formattedDate); 在Chrome上,它可以在控制台上正确打印日期。在狩猎中失败了。谁是正确的,更重要的是,处理这个问题的最佳方法是什么 Safari抛出以下错误: TypeError:“undefi

我有以下代码

var date = Ext.Date.format('2013-04-02', 'Y-n-j')
var formattedDate=Ext.Date.format('2013-04-02', 'M d')
console.log(date);
console.log(formattedDate);
在Chrome上,它可以在控制台上正确打印日期。在狩猎中失败了。谁是正确的,更重要的是,处理这个问题的最佳方法是什么

Safari抛出以下错误:


TypeError:“undefined”不是一个对象(评估“utilDate.monthNames[month].substring”)

我无法解释为什么它可以在Chrome中工作,但是你在第二个
格式(
Safari对于这个错误是不为人知的,在ipad上可以看到:不处理这样的原生日期创建
新日期(“2013-04-02”)

这可能就是问题所在,您必须在之前进行拆分工作,因此直接提供日期对象:
newdate(2013,3,2)
,而不是日期字符串


这充分解释了您的问题:未解析的日期用getMonth回答no month,因此本月没有monthName不是month,因此当从没有此方法的对象调用子字符串时失败,因为它不是字符串。

chrome多次忽略js小错误,而其他浏览器没有,因此这可能是错误ason。我已经在这里输入了我的代码。所以它没有弄乱我的真实代码。我已经更新了上面的代码。