2016-06-14 4 views
1

Наша цель - установить часовой пояс на передней части, чтобы отображать даты/время в часовом поясе, который мы желаем, а также получать даты, сгенерированные с полей даты, временных полей и т. Д., В один и тот же часовой пояс, но в конце посылать правильные timestamp на сервер.Как мы можем установить глобально в Sencha ExtJS версии 6.0.2 часовой пояс, который мы хотим использовать?

Установка часового пояса во всем мире к JavaScript Application не является тривиальной задачей, в соответствии с этим: How to initialize javascript date to a particular timezone

Решения рекомендуют библиотеки как momentjs, и, пожалуйста, поправьте меня, если я ошибаюсь, но это выходит за рамки и несовместимый с sencha extjs. Другими словами, в моделях и компонентах, обработанных sencha extjs, слишком много переходов времени, которые мы не можем обойти.

Кроме того, есть попытка переопределить основные функции Date объекта яваскрипта самого языка здесь: https://github.com/pligor/jstimezoner
Хотя вышеуказанные работы для простых случаев, когда интегрированные с приложением Сенча ExtJS результатом является катастрофой и не рекомендуются ,

Есть ли какая-то конфигурация, которую мы пропускаем, что позволяет Sencha ExtJS отображать и обрабатывать время и даты в часовом поясе по нашему выбору?

Обратите внимание, что мы всегда отправляем/получаем временную метку на/с сервера и, следовательно, там нет никаких часовых поясов.

ответ

0

Так же, как ExtJS не поддерживает интернационализацию, он не поддерживает часовые пояса.

Мы искали Интернет, а также наткнулись на MomentJS. Но, как вы узнали, вы можете начать переписывать почти все в ExtJS, который обрабатывает даты: вам нужно datetimewzonepicker, поле модели type:'datetimewzone', datetimewzonecolumn и т. Д. И т. Д.

В то время это казалось слишком большим усилием, и мы решили, что было бы проще отправить желаемый часовой пояс клиента на сервер в каждом запросе, отправив соответствующий datetime в формате Y-m-d H:i и делая все иначе о часовых поясах на сервере. Мы сожалеем об этом решении сейчас, потому что таким образом у нас нет возможности рассчитывать на стороне клиента (например, приложение cordova в автономном режиме).

Если вы владеете ExtJS, написав все эти обратные действия ExtJS-расширения должны быть не только чистым и расширяемым, но и более простым способом.

+0

Это удивляет меня как сюрприз, так как они всегда будут ударять меня по лицу, когда я буду использовать что-то еще, кроме метки времени на стороне сервера :) Вам нужно всего лишь добавить часовую зону и другую информацию о презентации на уровне презентации, вы согласны. Рассматриваете ли вы выпуск следующей стабильной версии (6.0.3, я думаю), включая функциональность часового пояса? Это не запрос функции. Это на самом деле ошибка. Спасибо за ваше внимание –

+0

Я не являюсь представителем ExtJS, просто разработчиком ExtJS, а «мы» не означает официальную команду Sencha. «Мы» - небольшая команда, разрабатывающая приложение для бизнес-календаря на основе ExtJS. Но, насколько я знаю, Сенча не рассматривает улучшения интернационализации или часовых поясов. Вы можете запросить через официальные каналы поддержки (X-Credits, Sencha Forum). Мы сделали это до того, как 4.2.2 вышел и не получил положительного ответа. – Alexander

+0

Тот же парень, который отвечает мне на поддержку, называется Алекс, таким образом, непонимание. Простите за это. Вопрос остается в силе для должностных лиц Sencha ExtJS, если они наткнутся на него –