我想使用java.util.Calendar类的一些方法,如getActualMaximum()和roll(),但它们在CodenameOne中缺失。
我试图在一个月内获得最大日期(最后一天)以进行某些与日期相关的计算。
请解决这个问题?
答案 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