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

时间:2013-04-04 06:24:38

标签: 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中它失败了。谁是正确的,更重要的是处理这个问题的最佳方法是什么?

Safari抛出以下错误:

TypeError:'undefined'不是对象(评估'utilDate.monthNames [month] .substring')

2 个答案:

答案 0 :(得分:1)

我无法解释为什么它可以在Chrome中运行,但是在第二个.format(之后你错过了一个引用

答案 1 :(得分:1)

Safari默默地不知道这个错误,在ipad上看到:没有处理这样的原生日期创建new Date("2013-04-02")

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

这完全解释了你的问题:一个未解析的日期用getMonth回答没有月份的月份,因此这个月没有月份名称不是一个月,因此当从没有这种方法的东西调用时,子串会失败,因为它不是一个字符串。