【问题标题】:Subtracting days in a Calendar object [duplicate]减去日历对象中的天数[重复]
【发布时间】:2010-04-12 16:26:18
【问题描述】:
【问题讨论】:
标签:
java
datetime
calendar
【解决方案1】:
Calendar.DAY_OF_YEAR 是减去天数的正确方法
您还可以使用
减去一年(考虑闰年)
Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.YEAR, -1);
【解决方案2】:
这是减去天数的正确方法。
请注意,由于闰日,365 天并不总是等于一年。 calendar.add(Calendar.YEAR, -1) 会正确减去一年。
您可能还想使用Joda Time-library 而不是java.util.Date 和java.util.Calendar。 Joda Time 是一个更好的处理时间和日期的 API。
【解决方案4】:
如果您尝试严格减去 365 天,那么是的,就可以了。但是,如果您尝试倒退数年,由于闰年,这可能行不通。
【解决方案5】:
查看Veyder-time。它是 java.util.Calendar 的一个简单而强大的替代方案,并且具有简单的方法来添加和减去天数和年数等。