本周一周日

时间:2017-04-13 08:52:17

标签: java date java.util.date java.util.calendar java-calendar

在我的情况下,周从周一到周日开始。我希望获得当前周周一日期。 我使用以下代码来获取星期一的日期。

        Calendar c = Calendar.getInstance();
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        System.out.println("Date " + c.getTime());

除了星期日之外的所有日子都可以正常工作,如果当天星期日它会给下周星期一的日期。是否可以获得当前星期一的星期日使用java.util.Date/Calendar API,即使它是星期日。

任何帮助表示赞赏。

2 个答案:

答案 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());