gpt4 book ai didi

java - 使用java获取一周的开始和结束日期

转载 作者:行者123 更新时间:2023-12-01 07:48:04 25 4
gpt4 key购买 nike

我的要求是在日期过去时获取一周的开始日期和结束日期。我进行了搜索,找到了大量答案,但对哪一个最好使用感到困惑。在其中一个线程中,我找到了以下代码:

  Calendar c = Calendar.getInstance();
c.setTime(new Date("8/16/2017"));
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
System.out.println("day :" + dayOfWeek);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
System.out.println("start of week day :" + c.getTime());

输出:

day :4
start of week day :Sun Aug 13 00:00:00 EDT 2017

我在上面的代码输出中发现了一个错误。一周的开始应为 8 月 14 日星期一,但显示为 8 月 13 日星期日。当日期作为字符串动态传递时,获取一周的开始日期和结束日期的任何建议。

--编辑--我正在寻找 java 代码,该代码返回传递日期时一周的第一天和最后一天日期

最佳答案

import java.time.LocalDate;

import static java.time.DayOfWeek.MONDAY;
import static java.time.DayOfWeek.SUNDAY;
import static java.time.temporal.TemporalAdjusters.nextOrSame;
import static java.time.temporal.TemporalAdjusters.previousOrSame;

public class FirstAndLast
{
public static void main(String[] args)
{
LocalDate today = LocalDate.now();

LocalDate monday = today.with(previousOrSame(MONDAY));
LocalDate sunday = today.with(nextOrSame(SUNDAY));

System.out.println("Today: " + today);
System.out.println("Monday of the Week: " + monday);
System.out.println("Sunday of the Week: " + sunday);
}
}

关于java - 使用java获取一周的开始和结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720329/

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