JSF date/time converters defaults by specification to UTC timezone. If you want to use a different timezone, then you really need to specify it in the converter yourself. Or, if you have 100% control over the production runtime environment, then set its system timezone to the desired timezone and add the following context parameter to
<context-param> <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name> <param-value>true</param-value> </context-param>
This way JSF will use the system’s timezone as obtained by
TimeZone#getDefault() as converter’s default timezone.
Please note that the
java.util.Date object by itself also does not store any timezone information. It also always defaults to UTC timezone. Keep this in mind when processing submitted date/times.
Thanks to Ricardo (Metal Apache) Andrade for the link.