在我的情况下,周从周一到周日开始。我希望获得当前周周一日期。 我使用以下代码来获取星期一的日期。
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("Date " + c.getTime());
除了星期日之外的所有日子都可以正常工作,如果当天星期日它会给下周星期一的日期。是否可以获得当前星期一的星期日使用java.util.Date/Calendar API,即使它是星期日。
任何帮助表示赞赏。
答案 0 :(得分:2)
您可以告诉Calendar
课程应该将哪一天视为第一天。尝试添加以下行:
c.setFirstDayOfWeek(Calendar.MONDAY);
答案 1 :(得分:1)
LocalDateTime thisWeeksMonday = LocalDateTime.now().with(DayOfWeek.MONDAY);
以防Java 8是一个选项。
如“Get date of first day of week based on LocalDate.now() in Java 8”中所述,您的使用可能会有所不同。
关于Java< 8,你需要像Jack提到的那样设置setFirstDayOfWeek
。请确保在更改星期几之前进行设置,例如:
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("Date " + c.getTime());