0

次のコードがあります

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' を評価しています)

4

2 に答える 2

1

Chrome で機能する理由は説明できませんが、2 番目の後に一重引用符がありません.format(

于 2013-04-04T06:27:05.153 に答える
1

Safari は、ipad で見られるこのバグで知られていません。このようなネイティブの Date creation を処理していませんnew Date("2013-04-02")

これが問題である可能性があり、前に分割作業を行う必要があるためnew Date(2013, 3, 2)、日付文字列の代わりに Date オブジェクト : を直接提供する必要があります。

それはあなたの問題を完全に説明しています: 解析されていない Date は getMonth で月に応答しません。したがって、この月には月ではない monthName がなく、文字列ではないため、このメソッドを持たないものから呼び出された場合、部分文字列は失敗します。

于 2013-04-04T06:30:14.903 に答える