获取一周开始和结束日期的 Java 程序


在这篇文章中,我们将探讨如何使用Java确定一周的开始和结束日期。具体来说,我们将编写一个程序,该程序接收给定的日期并计算该周的星期一和星期日。

问题陈述

编写一个 Java 程序,查找给定日期所在周的开始日期(星期一)和结束日期(星期日)。

输入

Date = 2019-04-16

输出

Start of the Week = 2019-04-15
End of the Week = 2019-04-21

计算一周开始和结束日期的步骤

以下是获取一周开始和结束日期的步骤:

  • 首先,我们将使用来自java.time 包LocalDate 类来设置日期。
  • 使用LocalDate初始化日期以设置特定日期。
  • 为了找到星期一,我们将使用minusDays(1)向后循环,直到getDayOfWeek()返回DayOfWeek.MONDAY
  • 为了找到星期日,我们将使用plusDays(1)向前循环,直到getDayOfWeek()返回DayOfWeek.SUNDAY
  • 显示原始日期、星期一和星期日。

计算一周开始和结束日期的 Java 程序

以下是获取一周开始和结束日期的步骤:

import java.time.DayOfWeek;
import java.time.LocalDate;
public class Demo {
   public static void main(String[] argv) {
      LocalDate date = LocalDate.of(2019, 4, 16);
      System.out.println("Date = " + date);
      LocalDate start = date;
      while (start.getDayOfWeek() != DayOfWeek.MONDAY) {
         start = start.minusDays(1);
      }
      System.out.println("Start of the Week = " + start);
      LocalDate end = date;
      while (end.getDayOfWeek() != DayOfWeek.SUNDAY) {
         end = end.plusDays(1);
      }
      System.out.println("End of the Week = " + end);
   }
}

输出

Date = 2019-04-16
Start of the Week = 2019-04-15
End of the Week = 2019-04-21

代码解释

程序首先使用来自java.time 包LocalDate 类设置特定日期。这使我们可以轻松地处理日期。为了找到一周的开始日期(星期一),我们使用while 循环从给定日期向后循环,直到一周中的日期为星期一。这是通过使用minusDays() 方法反复从日期中减去一天来完成的。类似地,为了找到一周的结束日期(星期日),我们向前循环到星期日,直到到达星期日,使用plusDays() 方法getDayOfWeek() 方法用于这些循环中以检查当前的一周中的日期。

更新于:2024年8月30日

2K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.