可能重复:在给定的日期
Anyone know a simple way using java calendar to subtract X days to a date?减少天数
我需要减去365天(givenDate) -
Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.DATE, -365);
上午我对?
可能重复:在给定的日期
Anyone know a simple way using java calendar to subtract X days to a date?减少天数
我需要减去365天(givenDate) -
Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.DATE, -365);
上午我对?
Calendar.DAY_OF_YEAR
是利用
Calendar calendar = Calendar.getInstance();
calendar.setTime(givenDate);
calendar.add(Calendar.YEAR, -1);
减去天
您还可以减去一年(以在考虑到闰年),我不认为它会作出不同的正确方法,但我会使用Calendar.DAY_OF_YEAR作为该字段。
这是减去天数的正确方法。
请注意,365天并不总是等于一年,因为闰日。 calendar.add(Calendar.YEAR, -1)
会正确减去一年。
您也可以使用Joda Time -library而不是java.util.Date
和java.util.Calendar
。乔达时间是处理时间和日期的更好的API。
如果你想严格减去365天,那么是的,这会做到这一点。但是,如果你尝试了多年,那可能是因为闰年而不起作用的。
退房Veyder-time。它是java.util.Calendar的一个简单而强大的替代方法,并且具有简单的方法来添加和减少日期和年份等等。
实际上,calendar.add(Calendar.DAY_OF_YEAR,n)和calendar.add(Calendar.DATE,n)是相同的。见http://stackoverflow.com/questions/2506082/add-more-than-30-days-with-calendars-add-method-in-java/2506096#2506096 – 2010-04-12 16:41:04