2014-12-23 155 views
0

基本上,我有一個使用日期的小程序。更改日期

Date current = new Date(); 
current.setDate(current.getDay() + time1); 

當我做到這一點增加了一天,但說時間1 = 30然後當我打印日期從本月不會改變。我希望這是有道理的,我有點新鮮。

+0

使用.getDate代替.getDay。 getDay返回的值是一個與星期幾對應的整數:0表示星期日,1表示星期一,2表示星期二,等等。 – WannaBeGeek

+3

許多Date方法已被棄用。日曆有一個roll()函數,可以完成你要找的內容,但我強烈建議尋找Joda Time。 (http://www.joda.org/joda-time/) – haley

+1

您正在使用不推薦的'Date'方法。請參閱http://stackoverflow.com/questions/2901262/why-were-most-java-util-date-methods-deprecated – Raedwald

回答

1

使用Calendar執行日期算術,並使用DateFormat來顯示結果。喜歡的東西,

Calendar cal = Calendar.getInstance(); 
cal.add(Calendar.DAY_OF_MONTH, 30); 
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
System.out.println(df.format(cal.getTime())); 
0

使用此方法

public static Date addDaystoGivenDate(Integer days, Date date){ 
    Calendar cal = Calendar.getInstance(); 
    cal.setTime(date); 
    cal.add(Calendar.DAY_OF_MONTH, days); 
    return cal.getTime(); 
}