可能重複:在給定的日期
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