Hi Matthias, 

actually I'm using the ADF calendar component - in the way described below, 

The calendar class picks up the CET locale ... but I'm not sure how and why.


Frank Felix

        <af:selectInputDate
                label="#{bundle['...']}"
              value="#{bean.date}"
                chooseId="validFrom" required="true">
                <af:convertDateTime/>
        </af:selectInputDate>

class Bean 
{
        Calendar myDate = ...

        public Date getDate()
        {
                return toNormalizedDate(myDate);
        }
        
        public void setDate(Date date)
        {
                myDate = fromNormalizedDate(date);              
        }
}

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 21, 2006 6:16 PM
To: MyFaces Discussion
Subject: AW: inputCalendar problem


> 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.

Many thanks. So you don't use the convertDateTime action at all? And how do
I switch to using the Europe/Berlin TimeZone?

-Matthias


> 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()
>               );
>       }
>

Reply via email to