Struts2 DateTimePicker是否允许使用特定的区域设置和时区输入日期和时间?

Struts2 DateTimePicker是否支持指定不同的语言环境和时区?

我认为它考虑了请求指定的Locale,但我没有看到文档中任何地方特别提到的。

我也没有看到它表明对时区有任何支持。

这是一个广泛的主题,但我会尝试减少我所知道的一些事情:

  • 简短的回答是否定的,Struts2集成的Dojo DateTimePicker不允许你这样做。
    如果您确实需要支持TimeZones(而不是Locales),例如:

    美国用户在印度使用US-Locale笔记本电脑时,希望将东京时区的日期时间插入您的Web应用程序。

    它的笔记本电脑的Locale和你的服务器以及他的ISP信息都足够了,那么你需要一些自定义的东西,比如:

    任何+ Time™DatePicker / TimePicker AJAX日历小工具

    在此处输入图像描述

    因为这不是一个常见的用例,因此您可能需要分叉主要道路。
    也就是说,在谈到Struts2 Dojo标签,Struts2 jQuery插件,HTML5和datetimepickers时,有一些值得注意的事项:

  • 许多Struts2 Dojo标签很久以前就被弃用了。 这些标签基于Dojo的旧/错误版本,未与当前版本对齐,因此可能存在问题。 显然, Struts2 Dojo DateTimePicker还活着,但我建议不要使用它。

  • 相反,它是一个Struts2 jQuery插件,主动维护,并基于一个非常新的jQuery版本。 它有一个DateTimePicker,即使有一些bug, 也可以舒适地使用它 。 否则,请考虑使用原始jQuery和DateTimePicker插件 。

  • 现在,重要的是(主要是支持移动浏览)总是使用本机HTML5 ,并且(对于( 很多 )情况的回退是还不支持原生HTML5小部件(例如Firefox,IE等)。 经典浏览存在细微差别(除了HTML5小部件不使用javascript打开日历这一事实,因此它可以在禁用javascript的浏览器中运行),但是在移动浏览中存在巨大差异,因为当你有一个小巧,高分辨率的屏幕,只有手指点击,获得一个小的jQuery日历或获取以下小部件,改变了很多用户体验:

    在此处输入图像描述

总结: 没有Struts-Dojo,是jQuery,但仅限于HTML5日期/时间不可用

也就是说,Dojo,jQuery和HTML5解决方案都不包含TimeZone数据。

有一个HTML5日期时间的变体,带有Locale(但没有TimeZone)信息, ,但是今天对datetime和datetime-local的支持很少 ,你不能依赖它然而。

这是因为它们仍然是工作草案 ,而不是标准 ,所以后备是强制性的(即使您的用户被迫使用今天支持它们的单个浏览器)。

在此演示中尝试使用Chrome,例如,检查它的工作原理以及渲染方式。 例如,它是如何在Opera上显示的:

在此处输入图像描述

只是我在一个巨大的发展领域的2美分。