Позволяет ли Struts2 DateTimePicker вводить даты и время с определенным языком и часовым поясом?

Поддерживает ли Struts2 DateTimePicker указание разных локалей и часовых поясов?

Я предполагаю, что он учитывает Locale, указанный в запросе, но я не вижу, что конкретно упоминается где-либо в документации.

Я также вижу, что это указывает на любую поддержку часовых поясов.

Ответ 1

Это широкая тема, но я попытаюсь уменьшить несколько вещей, которые я знаю:

  • Короткий ответ: нет, Struts2 интегрирован Dojo DateTimePicker не позволяет вам это делать.
    Если вам действительно нужно поддерживать TimeZones (а не Locales), например:

    американский пользователь, путешествующий со своим ноутбуком US-Locale в Индии, хочет вставить дату и время с помощью Tokyo TimeZone в ваше веб-приложение.

    Как для своего ноутбука Locale, так и для вашего сервера, а также для его информации ISP, вам понадобится что-то обычное, например:

    Any + Time ™ DatePicker/TimePicker AJAX Calendar Widget

    enter image description here

    Потому что это не обычный случай использования, и, следовательно, вам, вероятно, нужно отключить основную дорогу.
    Тем не менее, стоит упомянуть о тегах 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 или получить следующий виджет, сильно меняет пользовательский интерфейс:

    enter image description here

Подводя итоги: нет Struts- Dojo, да jQuery, но только если дата и время HTML5 недоступны.

Тем не менее, ни Dojo, ни jQuery, ни решения HTML5 не включают данные TimeZone.

Существует вариант datetime HTML5 с информацией Locale (но без TimeZone), <input type="datetime-local" />, но поддержка datetime и datetime-local сегодня не хватает, и вы не можете полагаться на нее.

Это потому, что они все еще работают над черновиками, а не стандартами, поэтому резервное копирование является обязательным (даже если ваши пользователи вынуждены использовать один браузер, который сегодня поддерживает их).

Попробуйте в эту демонстрацию, например, с Chrome, чтобы проверить, как она работает и как она отображается. Например, это показано в Opera:

enter image description here

Только мои 2 цента на чрезвычайно развивающемся поле.