2017-03-29 6 views
2

getActualMaximum()やroll()のようなjava.util.Calendarクラスのいくつかのメソッドを利用したいが、それらはCodenameOneにはない。Calendarクラスに欠けているメソッドのいくつか

日付関連の計算では、1か月で最大日(最終日)を取得しようとしています。

これを回避するにはどうしたらいいですか?

+0

私はときに私 'クリーンで私のプロジェクトをbuild'あなたが何を意味するか見たので、私は私の答えを削除しました。 – Diamond

+0

解決方法のために私の答えを元に戻し編集しました。 – Diamond

答えて

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 
+1

ありがとうダイヤモンド。出来た。 –

関連する問題