如何通过Java的LocalDate.minusYears()方法快速获取特定年份的日期所在周的详细信息?
- 内容介绍
- 文章标签
- 相关推荐
本文共计655个文字,预计阅读时间需要3分钟。
相关专题:
在 java 中,localdate.minusyears() 本身不直接提供周信息(如星期几、第几周等),但它可以快速回退到历史年份的**同月同日**,之后再结合 getdayofweek()、get(isofields.week_of_week_year) 等方法获取完整周信息。关键在于:先用 minusyears() 定位日期,再用其他 localdate 方法提取周相关字段。
获取历史年份同日的星期几
例如想知道 2020 年 10 月 15 日是星期几:
// 当前日期(示例)
LocalDate today = LocalDate.of(2024, 10, 15);
LocalDate target = today.minusYears(4); // → 2020-10-15
DayOfWeek dow = target.getDayOfWeek(); // → THURSDAY
// 输出:2020-10-15 是星期四
计算历史日期在当年的第几周(ISO 周)
ISO 周定义:每周从周一算起,第 1 周是包含该年第一个周四的那周。
本文共计655个文字,预计阅读时间需要3分钟。
相关专题:
在 java 中,localdate.minusyears() 本身不直接提供周信息(如星期几、第几周等),但它可以快速回退到历史年份的**同月同日**,之后再结合 getdayofweek()、get(isofields.week_of_week_year) 等方法获取完整周信息。关键在于:先用 minusyears() 定位日期,再用其他 localdate 方法提取周相关字段。
获取历史年份同日的星期几
例如想知道 2020 年 10 月 15 日是星期几:
// 当前日期(示例)
LocalDate today = LocalDate.of(2024, 10, 15);
LocalDate target = today.minusYears(4); // → 2020-10-15
DayOfWeek dow = target.getDayOfWeek(); // → THURSDAY
// 输出:2020-10-15 是星期四
计算历史日期在当年的第几周(ISO 周)
ISO 周定义:每周从周一算起,第 1 周是包含该年第一个周四的那周。

