gpt4 book ai didi

java - 无法向日历添加天数

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

我正在尝试写一些东西,允许某人在类里面查看有声读物,并且应该将截止日期设置为 14 天后。我的类有一个 toString() 方法,该方法应该打印出截止日期,但无论如何都会打印出截止日期 3/5。

public String toString() // Prints specs of a Book object
{
String str = "\nThe specs of this audiobook are: ";
str += "\n\t Title: " + title;
str += "\n\t Narrator: " + narrator;
str += "\n\t Year: " + year;
str += "\n\t Due Date: " + (getReturnDate().MONTH + 1) + "/" + getReturnDate().DATE;
return str;
}
public Calendar getReturnDate() // Makes return date 14 days after today
{
Calendar duedate = Calendar.getInstance();
duedate.add(Calendar.DAY_OF_YEAR, 14);
return duedate;
}

最佳答案

getReturnDate().MONTH

没有按照你的意思做。它的值是 Calendar.MONTH 静态常量的值,我认为是 2(实际上,您可以看到它是 in the source )。

我想你的意思是

getReturnDate().get(Calendar.MONTH)

此外,您不应调用 getReturnDate() 两次:如果调用两次,可能会得到不一致的日期。调用一次,将其分配给一个字段:

Calendar returnDate = getReturnDate();
// ...
str += "Due date " + (returnDate.get(Calendar.MONTH) + 1) + "/" + returnDate.get(Calendar.DATE);
<小时/>

但事实上,更好的解决方案是不使用这些旧的、已被有效弃用的 API。

使用 LocalDate :

LocalDate returnDate = LocalDate.now().plusDays(14);

然后访问 returnDate.getMonthValue()returnDate.getDayOfMonth() 字段。

关于java - 无法向日历添加天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539049/

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