богатое форматирование даты календаря - PullRequest
1 голос
/ 02 ноября 2011

Я использую rich: календарь с определенным рисунком datePattern="dd/MM/yyyy". Когда я попытался получить строковое значение из календаря и проанализировать его с помощью SimpleDateFormat ("dd/MM/yyyy"), у меня возникли некоторые проблемы, и я увидел, что формат даты в моей переменной не соответствует ожиданиям: Tue Nov 22 00:00:00 EET 2011

Вот код:

богатый: календарь

<rich:calendar value="#{validateReportAction.selectedDate}"  
   required="true" 
   requiredMessage="You must select a date" 
   mode="ajax"
   id="date"
   datePattern="dd/MM/yyyy"/>

в бобе

DateFormat formatter;
Date date; 
formatter = new SimpleDateFormat("dd/MM/yyyy");
date = (Date) formatter.parse(getSelectedDate());

, где getSelectedDate() возвращает Tue Nov 22 00:00:00 EET 2011, но я хочу только день / месяц / год. Как мне этого добиться?

Ответы [ 2 ]

5 голосов
/ 02 ноября 2011

Вот код, который у меня есть, который работает правильно;

<rich:calendar id="scheduledDateStart" 
            value="#{Scheduled.scheduledDateStart}"
    popup="true" 
            enableManualInput="#{true}"
            scrollMode="client"                             
           timeZone="#{timeZone.timeZone}"
   datePattern="MM,dd,yyyy"                             
 >                   
 <f:convertDateTime type="date" pattern="MMMM dd, yyyy"  timeZone="#{timeZone.timeZone}"/>
</rich:calendar>
1 голос
/ 02 ноября 2011

Добавьте этот атрибут в ваш тег и посмотрите, исправит ли он проблему:

<f:convertDateTime type="date" pattern="dd/MM/yyyy"  timeZone="#{timeZone.timeZone}"/>

Привет! * * 1004

...