【发布时间】:2021-05-07 06:38:03
【问题描述】:
我目前正在处理 DateTime.addMonths(iStartDateH, durationAsInt) 增加一天的问题。它在内部使用格鲁吉亚日历。 我们目前在这个项目中使用 Java 5 例如:24 个月
ExpirationDate=DateTime.addMonths(currentDate, 24)
CurrentDate= 01/02/2021 (dd/mm/yyyy format)
ExpirationDate= 02/02/2023
public static ErrorCode addMonths(DateHolder dateH, int numMonths) {
try {
Calendar c = new GregorianCalendar();
c.setTime(dateH.value);
c.add(Calendar.MONTH, numMonths);
dateH.value = c.getTime();
return ErrorCode.successCN;
}
catch (Exception e) {
IlMessage msg = new IlMessage(Msg.exceptionCaughtCN, e);
IlSession.getSession().getMessageStack().push(msg);
return ErrorCode.errorCN;
}
}
我尝试检查完整的日期/时间差,并将其作为 730.773935185185185 请帮忙。
【问题讨论】:
-
你在说什么
DateTime?java.time.LocalDateTime?java.util.Date?你能给出它的全称吗? -
如何确定差异为 730.773935185185185?
DateHolder是您自己的班级还是来自某个 3rd 方库的班级?哪一个? -
Java 5?可怜的人。您是否有机会迁移到更新的 Java 版本?
-
@SugandhaMahajan 您必须与我们分享您的
DateHolder课程。没有它,我们无法判断问题可能是什么。我用GregorianCalendar测试了月份的加法,但我无法重现您观察到的异常情况。