2012-01-04 2 views
1

У меня была проблема с датой extjs. Кажется, по умолчанию он использует дату компьютера для создания даты. Я не проверить мой компьютер и вывесить date.Then я нашел, что это основано на американскомjavascript client date format

M/d/yyyy. 

После того, как я изменить систему региональной даты установки на d-м-Y.Everthing работают отлично. Итак, кто-нибудь знает, как extjs получить формат даты клиента?

e.g 'YYYY-mm-dd' or 'M/d/yyyy' . 

Поскольку мне нужно разобрать формат из кода extjs в php в формат даты mysql. Я пытаюсь найти stackoverflow и сайт, но, похоже, не найден,

+1

Возможный дубликат http://stackoverflow.com/questions/85116/how-do-i-display-a-date-time-in-the-users-locale-format-and-time-offset –

+0

Вы используя функцию форматирования, встроенную в extjs? http://senchafiddle.com/#aKkbK http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Date – sissonb

+0

ya предположим sissonb. так как это поле даты. –

ответ

1

Вы можете конвертировать дату в строку при передаче, чтобы вы могли самостоятельно установить формат даты.

+0

немного сложно, так как вы не можете знать, какая дата использует формат m-d-y или d-m-y. Оба логики на 1-12-2012 или 12-1-2012. если не создать класс, проверяющий, что это действительная дата или нет. –

+0

Это объект данных, а не строка, поэтому вы можете преобразовать его в строку формата по своему усмотрению. – ijse

1

Фактически используемый формат по умолчанию - «m/d/y», и вы можете изменить формат self, и я не думаю, что ext может получить формат даты клиента и последовательно изменить формат.

1

не виду ваши региональные настройки

у вас есть два варианта в вашем сервере вы преобразовать в строки и изменения формата

yourDate.ToString("MMM dd, yyyy") 

см here или here для стандартного и пользовательского формата

или в ваш код extjs, который вы используете

renderer: Ext.util.Format.dateRenderer('d-M-Y'), 

см. here для доступных строк формата.

+0

Я знал это. но что, если A человек, такой как формат d-m-y, и другой человек, такой как d/M/Y, установленный в региональных настройках компьютера. Я нажимаю на клиента, чтобы использовать d-m-Y. Иногда они всегда ошибаются, потому что они использовали до старой системы. –

+0

У меня была такая же проблема, так как у нас есть клиенты, которые используют 31/12/2012, и тех, кто использует 12/31/2012 ... вот почему я пишу месяц в письме, который будет: 31 декабря 2012 года, это единственное решение i . Теперь вы можете добавить параметр в ap для того, чтобы пользователь мог выбрать предпочтительный формат, чтобы сохранить его где-нибудь в переменной var и называть его следующим: Ext.util.Format.dateRenderer (timeetting), – Armance