周一的郁闷事

?? 周一可以说非常郁闷啊.

?

?? 早晨起床倒不是很晚,不到八点出门也才八点十分,结果很不幸的是,坐公交车的人太多了,我等到了八点五十,简直是疯狂了,大冬天的,没办法呀,到了七里河我一想这到公司还不知道几点了呢,主要是因为二环东那边堵车,所以就下了决定先去英雄山买书,可惜的是在那里没有买到计算机网络原理的辅导书,但是那家下午就会到这本书了,那我下午去的话不是正好,又去早了,真是郁闷.

在 Java 8 中,使用 `LocalDate` 获取当前日期所在周的周一日期是一种常见需求。可以通过 `TemporalAdjusters.previousOrSame()` 方法结合 `DayOfWeek.MONDAY` 实现这一功能。这种方式确保即使当前日期本身就是周一,也能正确返回该日期本身作为本周的周一。 以下是一个示例代码片段: ```java import java.time.DayOfWeek; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; public class MondayOfCurrentWeek { public static void main(String[] args) { // 获取当前日期 LocalDate today = LocalDate.now(); System.out.println("当前日期: " + today + " " + today.getDayOfWeek()); // 获取当前周的周一 LocalDate mondayOfThisWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); System.out.println("当前周的周一日期: " + mondayOfThisWeek + " " + mondayOfThisWeek.getDayOfWeek()); } } ``` 上述代码中,`TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)` 会根据当前日期调整到最近的一个周一(包括当天如果是周一的情况)[^1]。这种方法简洁且直观,适合大多数业务场景下的日期处理需求。 ### 使用 WeekFields 获取周一 另一种方式是通过 `WeekFields` 来获取当前周的第一天(即周一),这种方式更适用于需要与特定地区标准(如中国)兼容的场景: ```java import java.time.LocalDate; import java.time.temporal.WeekFields; public class MondayUsingWeekFields { public static void main(String[] args) { // 获取当前日期 LocalDate today = LocalDate.now(); // 使用 ISO 标准(周一为一周第一天) WeekFields weekFields = WeekFields.ISO; LocalDate mondayOfThisWeek = today.with(weekFields.dayOfWeek(), 1L); // 1L 表示周一 System.out.println("当前周的周一日期: " + mondayOfThisWeek + " " + mondayOfThisWeek.getDayOfWeek()); } } ``` 在此实现中,`WeekFields.ISO` 指定了使用 ISO 周标准(周一为一周的第一天),并通过 `dayOfWeek()` 设置为 1L 表示周一 [^3]。 这两种方法均能有效获取当前日期所在周的周一日期,开发者可根据具体需求选择合适的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值