2
getActualMaximum()やroll()のようなjava.util.Calendarクラスのいくつかのメソッドを利用したいが、それらはCodenameOneにはない。Calendarクラスに欠けているメソッドのいくつか
日付関連の計算では、1か月で最大日(最終日)を取得しようとしています。
これを回避するにはどうしたらいいですか?
getActualMaximum()やroll()のようなjava.util.Calendarクラスのいくつかのメソッドを利用したいが、それらはCodenameOneにはない。Calendarクラスに欠けているメソッドのいくつか
日付関連の計算では、1か月で最大日(最終日)を取得しようとしています。
これを回避するにはどうしたらいいですか?
この問題を回避するには、次のようになります。
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
ありがとうダイヤモンド。出来た。 –
私はときに私 'クリーンで私のプロジェクトをbuild'あなたが何を意味するか見たので、私は私の答えを削除しました。 – Diamond
解決方法のために私の答えを元に戻し編集しました。 – Diamond