我在努力解决这一问题。
I want to setup my Calendar to let s say: Third Monday in February 2012. And I didn t find any way of doing this using Java.
例如,如果我想要确定2011年圣诞节的日历,我可以很容易地这样做:
Calendar when = Calendar.getInstance();
when.set (Calendar.MONTH, Calendar.DECEMBER);
when.set (Calendar.DAY_OF_MONTH, 25)
when.set (Calendar.YEAR, 2011);
但我错失了如何安排纪念2012年纪念日,即5月最后一个星期一。 这是我的法典,但显然是错误的,因为我完全可以假定,5月份的最后星期一将是今年5月的第4周:
Calendar when = Calendar.getInstance ();
when.set (Calendar.DAY_OF_WEEK,Calendar.MONDAY);
when.set (Calendar.MONTH, Calendar.MAY);
when.set (Calendar.WEEK_OF_MONTH, 4)
when.set (Calendar.YEAR, 2012);
关于我如何从方案上找出任何建议,其中2012年5月的一周(例如上周)是上星期一? 假设我能够掌握这一信息,我就应当能够把我的守则放在工作之上。
我需要一些基本可行的其他例子。 某些情况可以为相同情况提供确切的一天。 实例:
日期:
- 3rd Thursday of May 2015
- 1st Monday of June 2050
- 4th Tuesday of December 2012
- 2nd Wednesday of July 2000
我确实需要我的项目,我确信,这个项目很简单,但我是在没有取得任何实际成果的情况下打破我的头脑,以便: 也没有发现网上的任何东西。
Added:
奥基是我上星期一一个月来这里:
when.set (GregorianCalendar.MONTH, GregorianCalendar.MAY);
when.set (GregorianCalendar.DAY_OF_WEEK, Calendar.MONDAY);
when.set (GregorianCalendar.DAY_OF_WEEK_IN_MONTH, -1);
when.set (Calendar.YEAR, 2012);
But I am not sure how would I go about doing for example seconds Monday in the same month, like this?
when.set (GregorianCalendar.DAY_OF_WEEK_IN_MONTH, 2);
Any suggestions?