2012-07-31 8 views
0

Привет всем я застрял в задаче с пользовательским свойством editors.Following моего кода * фрагменты: *Дата значения отображается неправильно

import java.beans.PropertyEditorSupport; 
    import java.text.DateFormat; 
    import java.text.SimpleDateFormat; 
    import java.util.Calendar; 
    import java.util.Date; 
    import org.joda.time.format.DateTimeFormatter; 
    import org.joda.time.format.ISODateTimeFormat; 
    public class CustomCalendarEditor extends PropertyEditorSupport { 

     private Date date; 
     @Override 
     public String getAsText() { 
      Calendar value = (Calendar) getValue(); 
      Date dateTime = value.getTime(); 
      System.out.println("in editor--->"+dateTime); 
      return dateTime.toString(); 
     } 
     @Override 
     public void setAsText(String text) throws IllegalArgumentException { 
      try { 
       DateFormat formatter ; 
       Date date ; 
       formatter = new SimpleDateFormat("dd/MM/yyyy"); 
       date = (Date)formatter.parse(text); 
       Calendar cal=Calendar.getInstance(); 
       cal.setTime(date); 
       System.out.println("Today is " +date); 
       setValue(cal); 
      }catch(Exception e){ 
       e.printStackTrace(); 
     }} 
    } 

Из выше getAstext метод, который я уверен, преобразование Calendar объекта на сегодняшний день для отображения в виде пружинного как следующее:

form:input path="dateTime" value=" ${catalogingInfo.dateTime}" 

getAstext становится званых, но дата не отображается в надлежащей форме при этом он выглядит как:

java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=5,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=1,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=19800000,DST_OFFSET=0] 

Я не уверен, где я делаю ошибку. Извините за мой плохой английский.

ответ

1

Правильно, потому что вы не можете использовать toString для форматирования даты или календаря. Использование класса SimpleDateFormat и операции с форматом

+0

Я понимаю, но по крайней мере он должен отображаться как Thu Jun 09 00:00:00 IST 2011 –

Смежные вопросы