昔懐かしい今月の第三日曜日は?
昔ながらのDate/Calendarクラスを利用する場合。
import java.text.DateFormat; import java.util.Calendar; import static java.util.Calendar.DAY_OF_WEEK; import static java.util.Calendar.DAY_OF_WEEK_IN_MONTH; import static java.util.Calendar.SUNDAY; public class ThirdSunday { public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.set(DAY_OF_WEEK, SUNDAY); c.set(DAY_OF_WEEK_IN_MONTH, 3); System.out.println( DateFormat.getDateInstance().format(c.getTime()) ); } }
Calendar#set
は値を返さないのでメソッドチェーンで記述できずもっさりしていますが、
Date/CalendarでもDate and Time APIでも識別子的に似たような表記で似たようなことをしています。
$ java ThirdSunday 2016/03/20