By default JSF using GMT timezone to convert the date into display format. I did Google search about this issue, found no simple solution to solve this problem.
Here is a simple solution where you can provide your custom date time converter. I like this solution because it fixes GMT date/time issue across the application.
1) Write a new custom converter by extending existing DateTimeConverter class.
package com.company.project.converter;import java.util.TimeZone;
import javax.faces.convert.DateTimeConverter;
public class CustomDateTimeConverter extends DateTimeConverter {
public CustomDateTimeConverter() {
super();
setTimeZone(TimeZone.getDefault());
// here you can set your custom date pattern for your project
// setPattern("M/d/yy");
}}
Bind your new converter as default converter for object of type java.util.Date
<converter>
<converter-for-class>java.util.Date</converter-for-class>
<converter-class>com.company.project.converter.CustomDateTimeConverter</converter-class>
</converter>

Leave a comment