如何在 Java 中使用 LocalDate.getDayOfWeek() 获取日期的星期属性并根据语境进行显示
使用LocalDate.getDayOfWeek()返回DayOfWeek枚举,符合ISO-8601标准。显示星期名称时需调用getDisplayName()并指定TextStyle和Locale,如Locale.CHINA得“星期三”,Locale.ENGLISH得“Wednesday”。业务逻辑中应直接比较枚举常量,勿用数值。
LocalDate.getDayOfWeek() 这个方法的返回值可不是简单的数字或字符串——它是一个 DayOfWeek 枚举。这意味着什么?直接拿它来显示星期几,通常需要做一层转换。而且它本身不携带语言环境信息,要显示中文还是英文,得手动适配一下。下面把几个常用场景拆开来说。
理解 DayOfWeek 枚举的值和顺序
DayOfWeek 是 Ja va 8 引入的不可变枚举,按 ISO-8601 标准定义(周一为第 1 天,周日为第 7 天):
MONDAY→ 值为 1TUESDAY→ 值为 2WEDNESDAY→ 值为 3THURSDAY→ 值为 4FRIDAY→ 值为 5SATURDAY→ 值为 6SUNDAY→ 值为 7
这里提个醒:这个顺序和旧版 Calendar.SUNDAY = 1 的习惯完全不同,千万别图省事直接用 getDayOfWeek().getValue() 做硬编码判断。否则某天查出来“6”以为是周五,结果却是周六——这种坑踩过的人都懂。
根据语境显示中文星期名称
推荐用 getDisplayName() 配合 TextStyle 和 Locale,一行代码搞定,根本不用手写什么“周一、周二”的映射表:
LocalDate date = LocalDate.of(2024, 6, 12); // 周三
String cnWeek = date.getDayOfWeek()
.getDisplayName(TextStyle.FULL, Locale.CHINA); // "星期三"
String shortCn = date.getDayOfWeek()
.getDisplayName(TextStyle.SHORT, Locale.CHINA); // "周三"
用 Locale.SIMPLIFIED_CHINESE 效果一样,看个人习惯选一个就行。
显示英文星期(支持大小写和缩写)
套路完全一样,换个 Locale 和 TextStyle 就出来了:
getDisplayName(FULL, Locale.ENGLISH)→ "Wednesday"getDisplayName(SHORT, Locale.ENGLISH)→ "Wed"getDisplayName(NARROW, Locale.ENGLISH)→ "W"(单字母形式)
如果非要用全大写显示,比如报表里常见的 WEDNESDAY,在 FULL 结果后面链式调用 .toUpperCase() 就行。
在业务逻辑中判断星期并分支处理
直接用枚举常量做 switch 或 if 判断,语义清晰,类型安全,比写魔法数字强一百倍:
DayOfWeek dow = date.getDayOfWeek();
if (dow == DayOfWeek.SATURDAY || dow == DayOfWeek.SUNDAY) {
System.out.println("周末");
} else {
System.out.println("工作日");
}
// 或用 switch(Ja va 14+ 支持枚举 switch 表达式)
String type = switch (dow) {
case SATURDAY, SUNDAY -> "休息日";
default -> "工作日";
};
千万别用 getValue() == 6 这种写法——哪天同事改个标准就全崩了,而且读代码的人还得去查 6 到底代表星期几,何必呢。
事儿不复杂,但容易忽略的是:显示成什么样子完全取决于 TextStyle 和 Locale 的组合,业务里最好统一封装成一个工具方法,别每个地方都写一遍 getDisplayName(...),既冗余又容易出错。

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













