joda time
Javaの日付周りの標準モジュールが面倒で面倒で面倒で面倒で面倒で面倒で面倒でしょうがなくて心折れかけていたんですが、
joda timeみつけたら楽になった。
import org.joda.time.DateTime; public class Hoge { public static void main(String[] args) { DateTime datetime = new DateTime(); // 先月 System.out.println(datetime.minusMonths(1))); // 来月 System.out.println(datetime.plusMonths(1))); // 月初 System.out.println(datetime.dayOfMonth().getMinimumValue()); // 月末 System.out.println(datetime.dayOfMonth().getMaximumValue()); // 月曜日が1 for( int day = 1; day < 10; day++ ) { DateTime first_datetime = new DateTime(datetime.getYear(), datetime.getMonthOfYear(), day, 0, 0, 0, 0); System.out.println(first_datetime); System.out.println(first_datetime.getDayOfWeek()); } // 今週1週間の最初の日を取得する System.out.println(datetime.dayOfWeek().withMinimumValue()); // 今週1週間の最後の日を取得する System.out.println(datetime.dayOfWeek().withMaximumValue()); //今月最初の1週間 DateTime first_day = new DateTime(datetime.getYear(),datetime.getMonthOfYear(), 1, 0, 0, 0, 0); System.out.println(first_day); // 1週間の最初の日を取得する System.out.println(first_day.dayOfWeek().withMinimumValue()); // 1週間の最後の日を取得する System.out.println(first_day.dayOfWeek().withMaximumValue()); } }
javac -classpath joda-time-2.0.jar:. Hoge.java java -classpath joda-time-2.0.jar:. Hoge.java