如何在任意日期中找到最近的工作日?(Java)

bluesky1年前 ⋅ 146 阅读

ChatGPT的回答仅作参考:

在Java中,可以使用`java.time`包中的`LocalDate`类来处理日期。以下是一个示例代码,用于找到给定日期之前或之后的最近的工作日:

```java
import java.time.DayOfWeek;
import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2022, 1, 1); // 要查找的日期

        LocalDate nearestWorkday = findNearestWorkday(date);
        System.out.println("最近的工作日是:" + nearestWorkday);
    }

    public static LocalDate findNearestWorkday(LocalDate date) {
        if (date.getDayOfWeek() == DayOfWeek.SATURDAY) {
            return date.minusDays(1);
        } else if (date.getDayOfWeek() == DayOfWeek.SUNDAY) {
            return date.plusDays(1);
        } else {
            return date;
        }
    }
}
```

在上面的示例中,我们首先创建了一个`LocalDate`对象,表示要查找的日期。然后,我们调用`findNearestWorkday`方法来找到最近的工作日。该方法首先检查给定日期是否是星期六或星期日,如果是,则分别返回前一天或后一天的日期。如果给定日期不是星期六或星期日,则直接返回该日期。

在上面的示例中,我们查找的日期是2022年1月1日,这是一个星期六。因此,最近的工作日是2021年12月31日。你可以根据需要修改日期来测试代码。

全部评论: 0

    相关推荐