2013-06-20 3 views
0

필드 Date (java.sql.Date, Spring 3)가있는 엔티티 클래스가 있습니다. 누군가가 날짜를 String으로 변환하는 방법을 알고 있습니까 (아마도 @DateTimeFormat (패턴 = "dd/MM/yyyy")). 도움을 주셔서 감사합니다스프링 3에서 날짜를 문자열로 변환

답변

0

데이터를 문자열 형식으로 반환하는 다음 방법 중 하나를 호출하십시오.

// 예 : System.out.println ("Date :"+ convertDateToString (new Date()));
// 예 : System.out.println ("Date :"+ convertDateToString (new Date(), "dd/MM/yyyy"));

public String convertDateToString(Date dt) { 
     DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
     String dateToString = df.format(dt); 
     return dateToString; 
    } 

public String convertDateToString(Date dt, String pattern) { 
      DateFormat df = new SimpleDateFormat(pattern); 
      String dateToString = df.format(dt); 
      return dateToString; 
     } 
+0

@ user978758 내 ans을 (를) 받아 주셔서 감사합니다. 나는 너와 한 가지 더 나누고 싶다. u가 웹 포털을 개발하고 PrimeFaces를 사용하고 있다면 다음 코드 스 니펫을 사용하십시오. milanpanchal

1

당신은 모든 날짜를 Date 객체 의 문자열 표현을 필요할 때마다 자동적으로을 사용할 것이라는 DateFormatterRegistrar에 포매터를 등록 할 수는 객체. the documentation을 참조하십시오.

내 작업 예는 다음과 같습니다

<mvc:annotation-driven conversion-service="conversionService"/> 

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> 

    <property name="formatterRegistrars"> 
     <set> 
      <bean class="path.to.DateFormatterRegistrar" /> 
     </set> 
    </property> 

</bean> 

그러나 나는 그들이 체크 -하는 최신 버전 해놔에 스프링 DateFormatterRegistrar을 포함 생각 :

public class DateFormatterRegistrar implements FormatterRegistrar { 

    @Override 
    public void registerFormatters(FormatterRegistry registry) { 

     registry.addFormatter(new DateFormatter("dd-MM-yyyy")); 

    } 

} 

다음 설정입니다.

깔끔한 점은 다른 방식으로도 작동한다는 것입니다 (String을 Date로 변환).

그러나 원하는 경우이 특정 필드 만 서식을 지정하는 것이므로 @DateTimeFormat (pattern = "dd/MM/yyyy") 주석을 사용하는 것이 좋습니다. 문제의 필드 앞에 놓으십시오.

관련 문제