gpt4 book ai didi

java - 将日历集 DAY_OF_WEEK 转换为使用 TemporalAdjusters

转载 作者:行者123 更新时间:2023-12-01 19:30:05 24 4
gpt4 key购买 nike

我有一些像这样的遗留代码

        final Calendar cal = new GregorianCalendar();
cal.setTime(today);
// changed on May-03-2004
//cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
cal.add(Calendar.DAY_OF_YEAR, -6);
} else {
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
}
//System.out.println("Begin of cycle: " + cal.getTime());

我想将其转换为使用 java.time TemporalAdjuster 类,以使其更具可读性。

但我不太确定如何解释https://stackoverflow.com/a/1319484/242042使行为匹配。

最佳答案

假设今天确实是今天的日期,那么Java Time API版本,使用TemporalAdjusters ,将是:

LocalDate today = LocalDate.now();

TemporalAdjuster adjuster = TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY);
LocalDate monday = today.with(adjuster);

System.out.println(today + " -> " + monday);

示例输出

2020-02-01 -> 2020-01-27

2020-02-01 是星期六,2020-01-27 是前一个星期一。

关于java - 将日历集 DAY_OF_WEEK 转换为使用 TemporalAdjusters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60021677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com