Ответ 1
Это широкая тема, но я попытаюсь уменьшить несколько вещей, которые я знаю:
-
Короткий ответ: нет, Struts2 интегрирован Dojo DateTimePicker не позволяет вам это делать.
Если вам действительно нужно поддерживать TimeZones (а не Locales), например:американский пользователь, путешествующий со своим ноутбуком US-Locale в Индии, хочет вставить дату и время с помощью Tokyo TimeZone в ваше веб-приложение.
Как для своего ноутбука Locale, так и для вашего сервера, а также для его информации ISP, вам понадобится что-то обычное, например:
Any + Time ™ DatePicker/TimePicker AJAX Calendar Widget
Потому что это не обычный случай использования, и, следовательно, вам, вероятно, нужно отключить основную дорогу.
Тем не менее, стоит упомянуть о тегах Struts2 Dojo, плагине Struts2 jQuery, HTML5 и datetimepickers вообще: -
Многие теги Struts2 Dojo давно устарели. Эти теги были основаны на старых/баггских версиях Dojo, не совпадающих с текущей версией и, следовательно, потенциально проблемных. Очевидно, что Struts2 Dojo DateTimePicker все еще жив, но я бы предложил не использовать его.
-
Существует плагин Struts2 jQuery, активно поддерживаемый и основанный на довольно новой версии jQuery. У этого есть DateTimePicker, который, даже если с некоторой ошибкой, может быть удобно использован. В противном случае рассмотрим использование raw jQuery и Плагин DateTimePicker.
-
В настоящее время важно (в основном, поддерживать просмотр в мобильных устройствах) всегда использовать собственный HTML5
<input type="date"/>
и<input type="datetime-local" />
, с резервом для случаев (many), где родной Виджет HTML5 еще не поддерживается (например, Firefox, IE и т.д.). Существует небольшая разница в классическом просмотре (кроме того, что виджет HTML5 открывает календарь без использования javascript, и, следовательно, он работает в браузерах с отключенным javascript), но есть огромная разница в просмотре мобильных телефонов, потому что, когда у вас есть маленький экран с высоким разрешением и только пальцы, чтобы получить, получить небольшой календарь jQuery или получить следующий виджет, сильно меняет пользовательский интерфейс:
Подводя итоги: нет Struts- Dojo, да jQuery, но только если дата и время HTML5 недоступны.
Тем не менее, ни Dojo, ни jQuery, ни решения HTML5 не включают данные TimeZone.
Существует вариант datetime HTML5 с информацией Locale (но без TimeZone), <input type="datetime-local" />
, но поддержка datetime и datetime-local сегодня не хватает, и вы не можете полагаться на нее.
Это потому, что они все еще работают над черновиками, а не стандартами, поэтому резервное копирование является обязательным (даже если ваши пользователи вынуждены использовать один браузер, который сегодня поддерживает их).
Попробуйте в эту демонстрацию, например, с Chrome, чтобы проверить, как она работает и как она отображается. Например, это показано в Opera:
Только мои 2 цента на чрезвычайно развивающемся поле.