2013-06-12 3 views
1
Timestamp tsmp = Timestamp.valueOf("0302-02-20 00:00:00"); 
final DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
System.out.println(df.format(tsmp)); 

이 코드 세그먼트 인쇄 : 0302-02-20 12시 0분 0초 는 이유입니까? 누구든지 설명해 주시겠습니까?SimpleDateFormat의 구문 분석 문제

답변

3

new SimpleDateFormat ("yyyy-MM-dd hh : mm : ss");

API를 다시 읽습니다. 시간 기호는 모두 소문자가 아닙니다.

+1

OP는 'MM'을 올바르게 사용하고 있기 때문에 이미 소문자가 아님을 알고 있습니다. –

+1

고마워, 나는 그걸 알아 차리지 못한다. –

8

12 시간 형식 ("문서 작성시 오전/오후 (1-12)") 인 hh을 사용하고 있습니다. 대신 HH을 사용하십시오.

final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

당신이해야 꽤 많이 결코 사용 hh 당신은 또한 a를 사용하지 않는 한 AM/PM 지정자.

은 (당신이 정말로 관심에서, 비록 년 302AD에 타임 스탬프를 생성 할 찾으시는 것입니까?)

2

DateFormat의 안양 = 새로운하여 SimpleDateFormat ("YYYY-MM-DD HH를 : MM : SS를");