gpt4 book ai didi

java - 如何使用 Java 8 确定给定的周和年的天数

转载 作者:行者123 更新时间:2023-12-02 09:47:21 25 4
gpt4 key购买 nike

我需要一个正在开发的项目来查询给定日期范围的 API - 在本例中为一周,例如:

周日 (2019-06-02T00:00:00Z) - 周六 (2019-06-08T23:59:59Z)

因此,通过用户输入给我的是一周和一年,例如:

周 - 23

年份 - 2019

有没有一种使用 Java 8 来确定对应的日期的好方法?

编辑:我环顾四周,但没有找到这个问题的最新解决方案,我看到的最接近的是使用 JodaTime。我想知道是否有更好/更现代的方法来解决这个问题?

最佳答案

由于您知道一周有 7 天,因此您知道一年中的数字日期是周 * 7,在本例中为 23 * 7。

您可以使用 LocalDate.ofYear(year, dayOfYear) 方法获取开始日期,然后添加 6 天以获得一周的结束时间。

LocalDate startDate = LocalDate.ofYearDay(2019, 23 * 7);
LocalDate endDate = startDate.plusDays(6);

LocalDateTime startDateTime = LocalDateTime.of(startDate, LocalTime.of(0, 0, 0));
LocalDateTime endDateTime = startDateTime.plusDays(7).minusSeconds(1);

System.out.println(startDate.getDayOfWeek() + "(" + startDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss'Z'")) + ")");
System.out.println(endDate.getDayOfWeek() + "(" + endDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss'Z'")) + ")");

输出:

星期一(2019-06-10T12:00:00Z)

周日(2019-06-16T11:59:59Z)

关于java - 如何使用 Java 8 确定给定的周和年的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56547318/

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