Java如何精确获取并显示今天是星期几?
- 后端开发
- 2025-09-18
- 8
在Java中,要获取当前星期几,可以使用java.time包中的LocalDate类和DayOfWeek枚举,以下是如何实现这一功能的详细步骤和示例代码。
使用LocalDate获取当前日期
我们需要获取当前的日期。LocalDate类提供了now()方法,可以用来获取当前日期和时间。

import java.time.LocalDate; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); System.out.println("当前日期: " + currentDate); } }
使用DayOfWeek获取星期几
获取到当前日期后,我们可以使用getDayOfWeek()方法来获取星期几,这个方法会返回一个DayOfWeek枚举值。
import java.time.LocalDate; import java.time.DayOfWeek; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); DayOfWeek dayOfWeek = currentDate.getDayOfWeek(); System.out.println("当前星期几: " + dayOfWeek); } }
将DayOfWeek转换为字符串
虽然DayOfWeek是一个枚举,但它也可以转换为字符串形式,这可以通过toString()方法实现。
import java.time.LocalDate; import java.time.DayOfWeek; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); DayOfWeek dayOfWeek = currentDate.getDayOfWeek(); System.out.println("当前星期几: " + dayOfWeek.toString()); } }
获取星期几的缩写或全称
如果你需要星期几的缩写或全称,可以使用DayOfWeek类中的getDisplayName()方法,这个方法可以接受一个java.time.format.TextStyle参数,用于指定返回的格式。

| 参数 | 返回值示例 |
|---|---|
| TextStyle.SHORT | Mon, Tue, Wed, Thu, Fri, Sat, Sun |
| TextStyle.FULL | Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday |
以下是如何获取星期几缩写和全称的示例:
import java.time.LocalDate; import java.time.format.TextStyle; import java.util.Locale; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); DayOfWeek dayOfWeek = currentDate.getDayOfWeek(); // 获取缩写 String dayOfWeekAbbreviation = dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.getDefault()); System.out.println("当前星期几缩写: " + dayOfWeekAbbreviation); // 获取全称 String dayOfWeekFull = dayOfWeek.getDisplayName(TextStyle.FULL, Locale.getDefault()); System.out.println("当前星期几全称: " + dayOfWeekFull); } }
通过以上步骤,我们可以在Java中获取当前星期几,并将其以不同的格式(缩写、全称等)输出。

FAQs
Q1:为什么使用java.time包而不是java.util.Date?
A1:java.util.Date类相对较老,它的一些方法已经过时,而且它的API设计也不够直观。java.time包是Java 8引入的,它提供了更清晰、更直观的日期和时间API。
Q2:如何获取下个星期几或上周星期几?
A2:要获取下个星期几,可以使用plusDays()方法加上相应的天数,要获取下个星期二,可以使用currentDate.plusDays(7 dayOfWeek.getValue() % 7). 要获取上周星期几,可以使用minusDays()方法减去相应的天数,要获取上周星期五,可以使用currentDate.minusDays(dayOfWeek.getValue() % 7).