获取当前日期最早的周一和最晚的周日时间 Java

作为一名经验丰富的开发者,我很高兴能够教会你如何获取当前日期最早的周一和最晚的周日时间。下面是整个流程的步骤:

  1. 获取当前日期,即今天的日期。
  2. 找到当前日期所在周的第一天,即周一。
  3. 找到当前日期所在周的最后一天,即周日。

下面是每一步需要做的事情以及相关的代码和注释:

第一步:获取当前日期

import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // 获取当前时间
        Date currentDate = new Date();
        System.out.println("当前日期:" + currentDate);
    }
}

上面的代码中,我们使用了 java.util.Date 类来获取当前日期,并将其存储在 currentDate 变量中。

第二步:找到当前日期所在周的第一天(周一)

import java.util.Calendar;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // 获取当前时间
        Date currentDate = new Date();

        // 创建 Calendar 对象,并设置为当前时间
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currentDate);

        // 找到当前日期所在周的第一天(周一)
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

        // 获取当前日期所在周的第一天
        Date firstDayOfWeek = calendar.getTime();
        System.out.println("当前日期所在周的第一天:" + firstDayOfWeek);
    }
}

上面的代码中,我们使用了 java.util.Calendar 类来进行日期相关的操作。首先,我们创建了一个 Calendar 对象,并将其设置为当前时间。然后,通过设置 Calendar.DAY_OF_WEEKCalendar.MONDAY,即周一,来找到当前日期所在周的第一天。最后,我们通过 getTime() 方法获取到了第一天的日期。

第三步:找到当前日期所在周的最后一天(周日)

import java.util.Calendar;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // 获取当前时间
        Date currentDate = new Date();

        // 创建 Calendar 对象,并设置为当前时间
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currentDate);

        // 找到当前日期所在周的最后一天(周日)
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

        // 获取当前日期所在周的最后一天
        Date lastDayOfWeek = calendar.getTime();
        System.out.println("当前日期所在周的最后一天:" + lastDayOfWeek);
    }
}

上面的代码与第二步类似,只是在设置 Calendar.DAY_OF_WEEK 时,我们将其设置为 Calendar.SUNDAY,即周日,来找到当前日期所在周的最后一天。最后,我们通过 getTime() 方法获取到了最后一天的日期。

以上就是获取当前日期最早的周一和最晚的周日时间的完整流程。下面是类图和甘特图:

classDiagram
    class Date {
        +Date()
    }

    class Calendar {
        +Calendar()
        +set(field: int, value: int): void
        +getTime(): Date
    }

    class Main {
        +main(args: String[]): void
    }

    Date --> Main
    Calendar --> Main
gantt
    title 获取当前日期最早的周一和最晚的周日时间流程表

    section 步骤
    获取当前日期:done, 1, 2022-09-01
    找到周一:done, 2, 2022-09-01, 1d
    找到周日:done, 3, 2022-09-02, 1d

希望通过这篇文章,你能够理解如何使用 Java 来获取当前日期最早的周一和最晚的周日时间。祝你学习进步!