Hi Matthias,
I use the methods below to convert back and forth.
Because our app uses java.util.Calendar, the method "toNormalizedDate" is
used to convert the calendar to a date suitable for JSF, and
"fromNormalizedDate" to convert it back.
Frank Felix
/**
* Required to work around a bug in ADF/JSF, where
* dates are always normalized to GMT, and then time
* is set to 0, resulting in a change of date for all
* time zones before GMT.
*
* @param calendar
* @return normalized date
*/
@SuppressWarnings("deprecation")
public static Date toNormalizedDate(Calendar calendar)
{
return calendar==null ? null : new Date(
Date.UTC(
calendar.get(Calendar.YEAR)-1900,
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DATE),
0,
0,
0
)
);
}
/**
* Required to work around a bug in ADF/JSF, where
* dates are always normalized to GMT, and then time
* is set to 0, resulting in a change of date for all
* time zones before GMT.
*
* @param date the date to copy from
*/
@SuppressWarnings("deprecation")
public static Calendar fromNormalizedDate(Date date)
{
if (date==null)
{
return null;
}
return new GregorianCalendar(
date.getDate(),
date.getYear()+1900),
date.getMonth()
);
}