Calendar类中缺少一些方法

时间:2017-03-29 11:42:10

标签: codenameone

我想使用java.util.Calendar类的一些方法,如getActualMaximum()和roll(),但它们在CodenameOne中缺失。

我试图在一个月内获得最大日期(最后一天)以进行某些与日期相关的计算。

请解决这个问题?

1 个答案:

答案 0 :(得分:2)

解决方法是:

java.util.Calendar cal = java.util.Calendar.getInstance();

int startDate = 28; 
int maxDayOfMonth = startDate;
int currentMonth = cal.get(Calendar.MONTH);
cal.set(Calendar.DAY_OF_MONTH, startDate + 1);

while (currentMonth == cal.get(Calendar.MONTH)) {
    maxDayOfMonth++;
    cal.set(Calendar.DAY_OF_MONTH, maxDayOfMonth + 1);
}
System.out.println(maxDayOfMonth);

<强>测试

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String date1 = "2017-02-27";
String date2 = "2017-02-28";
String date3 = "2017-03-01";
String date4 = "2017-04-20";

java.util.Calendar cal = java.util.Calendar.getInstance();
cal.setTime(dateFormat.parse(date1)); //Change as neccessary to test others