我强烈建议您改用Joda Time(对于您的所有日期/时间工作,而不仅限于此):
// TODO: Consider time zones, calendars etcLocalDate now = new LocalDate();LocalDate monday = now.withDayOfWeek(DateTimeConstants.MONDAY);System.out.println(monday);
请注意,正如您在此处所使用的 星期一 (即Joda
Time中的一周的第一天)一样,它将始终返回更早的一天(或同一天)。例如,如果您选择了星期三,那么它将从星期一或星期二 前进
到星期三。如果需要“下一个星期三”或“上一个星期三”,则始终可以添加或减去一周。
编辑:如果您 确实 要使用java.util.Date/Calendar,则可以使用:
Calendar c = Calendar.getInstance();c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);System.out.println("Date " + c.getTime());您可以使用
Calendar.setFirstDayOfWeek指示一周是星期一至星期日还是星期天至星期六。我
相信 将星期几设置为当前星期-进行测试。



