gpt4 book ai didi

java - 获取今年的同一天

转载 作者:行者123 更新时间:2023-11-30 07:42:31 25 4
gpt4 key购买 nike

我需要得到今年的同一天。

示例:现在是 2019 年,变量包含值 2022 年 7 月 15 日,所以我需要得到 2019 年 7 月 15 日。它适用于除 2 月以外的所有日期,因为它在一年中有额外的一天并且今年没有这一天,例如:2020 年 2 月 29 日将在第二天返回我:2019 年 3 月 1 日,但在这种情况下我需要返回前一天:2019 年 2 月 28 日。我如何调整我的逻辑以使其以这种方式工作?

public static java.util.Date getThisDateInThisYear(java.util.Date date) {
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(date);
Date today = new Date();
GregorianCalendar gcToday = new GregorianCalendar();
gcToday.setTime(today);
gc.set(GregorianCalendar.YEAR, gcToday.get(GregorianCalendar.YEAR));
return gc.getTime();
}

最佳答案

首先计算年差并将结果添加到日期

public Date getThisDateInThisYear(Date date) {
Calendar c = Calendar.getInstance();
int thisYear = c.get(Calendar.YEAR)
c.setTime(date);

int diff = thisYear - c.get(Calendar.YEAR);
c.add(Calendar.YEAR, diff);

return c.getTime();

}

我用 2016-02-29 和 2020-02-29 进行了测试,都返回了 2019-02-28。

关于java - 获取今年的同一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54544518/

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