当前周星期一日期



就我而言,一周从周一到周日开始。我想得到本周星期一日期。 我使用以下代码来获取星期一日期。

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

除星期日外,它适用于所有日子,如果当前日期是星期日,它将给出下周星期一日期。是否可以使用 java.util.Date/Calendar API 获取当前周星期一日期,即使它是星期日。

任何帮助表示赞赏。

您可以告诉Calendar类应将一周中的哪一天视为第一天。尝试添加以下行:

c.setFirstDayOfWeek(Calendar.MONDAY);
LocalDateTime thisWeeksMonday = LocalDateTime.now().with(DayOfWeek.MONDAY);

以防万一Java 8是一种选择。

如"在 Java 8 中基于 LocalDate.now() 获取一周第一天的日期"中所述,您的用法可能会有所不同。

关于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());

相关内容

最新更新