2011-04-12 3 views

답변

5

최소값은 항상 이번 달의 1 일입니다. 최대 값은 월에 1을 더하고 달력 날 필드에서 1을 뺀 값으로 결정할 수 있습니다.

c = ... // get calendar for month you're interested in  
int numberOfDays = c.getActualMaximum(Calendar.DAY_OF_MONTH) 

당신은 최소 및 최대 값을 날짜의 구성 요소에 대해 동일한 방법을 찾을 수 :

+0

감사를하는 데 도움으로 최대 날짜가 계산 될 수있다 솔루션을 다음과 같이 얻었습니다. public void ddl_month_valueChange (ValueChangeEvent 이벤트) { int v_month = Integer.parseInt (event.getNewValue(). toString()) - 1; java.util.Calendar c1 = java.util.Calendar.getInstance(); c1.set (2011, v_month, 1); 날짜 d_set_att_from = c1.getTime(); cal_att_from_date.setValue (d_set_att_from); c1.add (CALendar.MONTH, 1); c1.add (CalendarDATE, -1); 날짜 d_set_att_to = c1.getTime(); cal_att_to_date.setValue (d_set_att_to); } – Annu

+0

cal_att_from_date 및 cal_att_to_date가 org.primefaces.component.calendar.Calendar – Annu

+0

@Annu의 객체 인 경우이 방법은 하나의 메소드를 호출하는 것보다 쉽습니다. –

3

이이 방법을 수행 할 수있다.

1

다음을 시도해 보셨습니까?

원하는 달로 캘린더 개체를 설정 한 후
calendar.getActualMaximum (Calendar.DATE);

최소한, 나는 항상 첫 번째라고 생각합니다.

희망이 있습니다. 난,

1

최소 날짜는 항상 1 하고

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
     Calendar calendar = Calendar.getInstance(); 

     int year = 2010; 
     int month = Calendar.FEBRUARY; 
     int date = 1; 
     int maxDay =0; 

     calendar.set(year, month, date); 
     System.out.println("First Day: " + formatter.format(calendar.getTime())); 

     //Getting Maximum day for Given Month 
     maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); 

     calendar.set(year, month, maxDay); 
     System.out.println("Last Day: " + formatter.format(calendar.getTime())); 

는 희망이 의지

0
나는 아래와 같은 솔루션을 가지고

, 도움을

public void ddl_month_valueChange(ValueChangeEvent event) { 
int v_month = Integer.parseInt(event.getNewValue().toString()) - 1; 
java.util.Calendar c1 = java.util.Calendar.getInstance(); 
c1.set(2011, v_month, 1); 
Date d_set_att_from = c1.getTime(); 
cal_att_from_date.setValue(d_set_att_from); 
c1.add(java.util.Calendar.MONTH, 1); 
c1.add(java.util.Calendar.DATE, -1); 
Date d_set_att_to = c1.getTime(); 
cal_att_to_date.setValue(d_set_att_to); } 
관련 문제