如何一個月從當前日期和降低使用此代碼想瘡java.util.Date
可變 IM,但它顯示錯誤在第2行如何從當前日期減少一個月並使用java存儲在日期變量中?
java.util.Date da = new Date();
da.add(Calendar.MONTH, -1); //error
如何對這個日期存儲在java.util.Date
變量?
如何一個月從當前日期和降低使用此代碼想瘡java.util.Date
可變 IM,但它顯示錯誤在第2行如何從當前日期減少一個月並使用java存儲在日期變量中?
java.util.Date da = new Date();
da.add(Calendar.MONTH, -1); //error
如何對這個日期存儲在java.util.Date
變量?
使用日曆:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
Date result = cal.getTime();
cal.getTime()將返回一個Date對象 – 2013-05-06 06:12:25
Calendar calNow = Calendar.getInstance()
// adding -1 month
calNow.add(Calendar.MONTH, -1);
// fetching updated time
Date dateBeforeAMonth = calNow.getTime();
如何將日期存儲在日期變量中 – karthi 2013-05-06 06:15:34
@karthi'Date dateValue = calNow.getTime();'...... – MadProgrammer 2013-05-06 06:15:57
可以使用Calendar
java.util.Date da = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(da);
cal.add(Calendar.MONTH, -1);
da = cal.getTime();
(我假設使用' setTime'用於演示目的,因爲'Calendar.getInstance'將返回一個'Calendar'設置爲當前日期/時間......您可能還想放置'da = cal.getTime()',以便最終結束在最後加上'Date'值......) – MadProgrammer 2013-05-06 06:15:21
是的,你是對的!謝謝。 – Ahiel 2013-05-06 09:34:33
從Java 8開始,建議的方法是使用Date-Time API而不是Calendar
。
如果你想被返回Date
對象:
Date date = Date.from(ZonedDateTime.now().minusMonths(1).toInstant());
如果你不需要完全是一個Date
對象,你可以直接使用的類,由包提供,甚至得到日期其他時區:
ZonedDateTime dateInUTC = ZonedDateTime.now(ZoneId.of("Pacific/Auckland")).minusMonths(1);
我建議更改此答案以顯示特定時區,例如'ZoneId.of(「Pacific/Auckland」)'而不是'ZoneOffset.UTC'。如果有人真的需要UTC,那麼比'ZonedDateTime'更適合使用'OffsetDateTime'。 – 2016-09-16 20:38:27
好點,更新:) – DVarga 2016-09-17 11:51:55
使用「日曆」 – anstarovoyt 2013-05-06 06:10:00
類請參見本【答案】(http://stackoverflow.com/questions/1311143/java-util-date-deleting-three-months-from-a-日期) – Amarnath 2013-05-06 06:10:19
雅我使用那個類.. – karthi 2013-05-06 06:10:38