当前位置:首页 > Java

java如何获取本周

2026-03-25 14:47:50Java

获取本周日期范围的方法

使用java.time包中的类可以方便地获取本周的开始和结束日期。以下是一个完整的示例代码:

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;

public class WeekDates {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        LocalDate startOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
        LocalDate endOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));

        System.out.println("本周开始日期: " + startOfWeek);
        System.out.println("本周结束日期: " + endOfWeek);
    }
}

处理不同周定义的情况

某些地区可能将周日视为一周的第一天,这时可以调整代码:

LocalDate startOfWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.SUNDAY));
LocalDate endOfWeek = today.with(TemporalAdjusters.nextOrSame(DayOfWeek.SATURDAY));

获取本周所有日期列表

如果需要获取本周的所有日期,可以使用以下方法:

List<LocalDate> datesInWeek = new ArrayList<>();
LocalDate current = startOfWeek;
while (!current.isAfter(endOfWeek)) {
    datesInWeek.add(current);
    current = current.plusDays(1);
}

使用Calendar类(旧版API)

如果项目仍在使用旧版Java日期API,可以使用Calendar类:

java如何获取本周

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
Date startOfWeek = calendar.getTime();

calendar.add(Calendar.DATE, 6);
Date endOfWeek = calendar.getTime();

注意:新版java.timeAPI更推荐使用,它更清晰且线程安全。

标签: 本周java
分享给朋友:

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…