2011-04-12 136 views

回答

5

最低总是本月的第一个。最大值可以通过在日历日字段中添加1到月份并减去1来确定。

+0

感谢您的帮助,我得到的解决方案如下: public void ddl_month_valueChange(ValueChangeEvent event){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(java.util.Calendar.MONTH,1); c1.add(java.util.Calendar.DATE,-1); 日期d_set_att_to = c1.getTime(); cal_att_to_date.setValue(d_set_att_to); } – Annu 2011-04-12 05:49:02

+0

其中cal_att_from_date和cal_att_to_date是org.primefaces.component.calendar.Calendar – Annu 2011-04-12 05:49:39

+0

@Annu的对象,这个解决方案比调用一个方法更简单吗? – 2011-04-12 05:50:22

3

这可以做到这样:

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

你可以找到最小值和最大值的任何日期的部件以同样的方式。

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); } 
相关问题