2015-01-23 3 views
2

나는 캘린더 객체에 시간, 분, 자오선을 프로그래밍 방식으로 설정해야하며 시간을 hh : mm a 형식으로 표시해야하는 작업이 있습니다. 아래는 내 코드입니다.캘린더 객체에 직면 한 문제

Calendar calendar = (Calendar)dateNtime.clone(); 
     calendar.set(Calendar.HOUR, 12); 
     calendar.set(Calendar.MINUTE, 0); 
     calendar.set(Calendar.AM_PM, 1); 

SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm a"); 
    String str = dateFormat.format(calendar.getTimeInMillis()); 

여기서 dateNTime은 새 캘린더 생성시 사용해야하는 기존 캘린더 개체입니다.

내가 12PM을 설정하는 동안 만 예외를 제외하면 모두 괜찮습니다. 그것은 항상 hh : mm a와 12:00 AM의 형식을 취하고 12:00 PM이어야합니다.

누구든지 캘린더 개체에 대한 좋은 경험이 있고 잘 알려진 문제가 있거나 도움이되는 튜토리얼 링크가 있으면 알려주십시오.

+0

문제를 보여주는 짧지 만 완전한 프로그램을 제공해주십시오. 개인적으로 나는 HOUR을 목표 시간으로 설정하고 PM에 놓으려는 경우 12를 추가한다고 생각합니다. –

+2

시간을 * 0 *으로 설정 한 다음 AM_PM을 1로 설정하면 원하는 결과를 얻으십시오. –

답변

5

같이 HOUR 필드 documented입니다 : 수는 GET과 세트의 오전 또는 오후의 시간을 나타내는

필드입니다. HOUR는 12 시간 시계 (0 - 11)에 사용됩니다.

그래서 그 대신 12으로 설정, 당신은 당신이 그것을 PM을하려면 12 시간 추가, 개인적으로 난 그냥 HOUR_OF_DAY 필드를 설정 거라고 0

로 설정해야 -과 그렇지 않은 AM_PM 필드를 설정하십시오.

관련 문제