В отличие от Ext JS 3, Ext JS 4 не расширяет собственный объект Date.Вместо этого он предоставляет Ext.Date.Поэтому вместо:
date.format('m/d/Y');
вместо этого вы должны использовать:
Ext.Date.format(date, 'm/d/Y');
Кроме того, использование eval () в большинстве случаев является действительно плохой идеей.Этот код не является исключением.
И если вы отбрасываете eval, try-catch также не нужен.
Наконец, функция, которая одновременно анализирует дату и преобразует ее в другой форматделать слишком много.Часто вам нужно отображать одну и ту же дату в разных форматах в разных частях вашего приложения.Поэтому я бы предпочел просто иметь функцию, которая анализирует формат даты WCF в объект данных JavaScript.А затем используйте преобразование объекта Date в определенный строковый формат в том самом месте, где это необходимо.
Удаление всех посторонних вещей, вот что я получаю:
function parseWcfDate(dt) {
var milliseconds = dt.replace(/\/Date\((-?[0-9]+)([+-][0-9]+)?\)\//, "$1");
return new Date(parseInt(milliseconds, 10));
}
В любом случае, все этослишком много проблем ... Ext JS имеет встроенную поддержку для разбора дат в формате WCF:
Ext.Date.parse("/Date(1234567894560)/", "MS");
См. также: