2015-03-31 13 views
0

請參閱下面的簡單代碼。我想從當前月份扣除一個月,並預計2015年2月的產值。在Java中使用Calendar類的日期操作

Calendar today = Calendar.getInstance(); 
    System.out.println(today.getTime().toString()); 

    today.set(Calendar.MONTH, -1); 
    Date date = today.getTime(); 
    System.out.println(date.toString()); 

程序輸出如下。我沒有看到2月份的預期,而是顯示2014年12月爲月份。

週二3月31日11時48分34秒EDT 2015年

週三12月31日11時48分34秒EST 2014

感謝您的時間和幫助。

回答

2

你是設置月份數爲-1,即「前一年的十二月」。你想添加 -1個月:

today.add(Calendar.MONTH, -1); 

我強烈建議使用約達時間或Java 8的java.time包,如果你可能可以,但 - 兩者都是更好的API比Date/Calendar