Как разобрать строку в шаблон даты с помощью Dojo - PullRequest
4 голосов
/ 18 мая 2010

у меня есть значение '05/17/2010' Я хотел бы получить его как 'May 17, 2010', используя dojo.date.locale. Я попытался использовать dojo.date.locale.parse следующим образом:

x = '05/17/2010'
var x = dojo.date.locale.parse(x, {datePattern: "MM/dd/yyyy", selector: "date"});
alert(x)    

Это не дает мне желаемый шаблон даты.

Я также пытался заменить шаблон на datePattern : "MMMM d, yyyy", но он возвращает null.

Ответы [ 3 ]

5 голосов
/ 19 мая 2010

dojo.date.locale.parse принимает отформатированную строку и возвращает объект Javascript Date.

var x = dojo.date.locale.parse('05/17/2010', {datePattern: "MM/dd/yyyy", selector: "date"});

Когда вы говорите

alert(x);

, который приводит x к строке, используя метод Date.toString (), который варьируется в зависимости от браузера, но даст вам вывод, похожий на тот, который вы получили - Пн 17 мая 2010 00:00:00 GMT-0500 (Центральное летнее время )

Если вы хотите отформатировать дату особым образом, передайте результат вашего анализа в dojo.date.locale.format с определенным форматом даты:

var y = dojo.date.locale.format(x, {datePattern:"MMMM d, yyyy", selector: 'date'});
1 голос
/ 13 января 2011

Проблема в том, что вы должны сначала создать объект Date, а , а затем вы можете отформатировать его, поскольку функция форматирования принимает в качестве первого параметра объект Date, а не строку. Итак, если вы сделаете следующее, все будет работать нормально:

var x = new Date("05/17/2010");
x = dojo.date.locale.format(x, {datePattern: "MM/dd/yyyy", selector: "date"});
alert (x);
1 голос
/ 18 мая 2010

Я не уверен, что это работает - хотя после вашего первоначального объявления x, перед установкой во второй раз нет точки с запятой. Я разбил твой код на три строки:

var x = '05/17/2010';
x = dojo.date.locale.parse(x, {datePattern: "MM/dd/yyyy", selector: "date"});
alert (x);

Возможно, дело в том, что x не был установлен изначально?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...