2012-08-30 81 views
-3
I have this code: 
import javax.swing.JOptionPane; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.*; 
import java.text.*; 

    public class BillionSeconds { 

     public static void main(String[] args) 
     { 
      Date thedate ; 


      String Birthday = JOptionPane.showInputDialog("What is your birthday in the form dd-MM-yy"); 

      DateFormat dateFormat = new SimpleDateFormat("dd/MMM/yy"); 
      try{ 
      thedate = dateFormat.parse(Birthday); 
      } 
      catch (Exception e) { 
       System.out.println("Unable to parse date stamp"); 
      } 
      Date newdate = thedate.add(thedate, 1); 
     } 
    } 

,但我得到這個錯誤,我不能找出原因:Java錯誤:無法找到符號方法Add(日期,INT)

error: cannot find symbol method add(Date,int) 
+2

在[Date API](http://docs.oracle.com/javase/7/docs/api/java/util/Date.html)中是否存在'add(...)'方法?這個問題本可以通過API的2秒掃描得到解答。 –

+0

爲什麼在編譯時錯誤時將此問題標記爲「exception」? –

+0

如果它確實有一個add方法,那麼'add(thedate,1)'添加到什麼?在年,月,日添加一個?我建議谷歌「java日期添加」。其中一個命中是這個http://stackoverflow.com/questions/428918/how-can-i-increment-a-date-by-one-day-in-java – km1

回答

0

,因爲它說,有沒有在java add方法。 util.Date。 你可能想看看GregorianCalendar。它有你需要的智能方法。或者甚至更好,使用第三方庫JodaTime

0

add(thedate, 1);

有一個在Calendar Class一個的add()方法Date class ....

如:

Calendar desiredDate = toDay.add(Calendar.DATE, 4);

0

是啊,那是因爲Date不是哈採用add方法。是什麼讓你覺得它呢?

這聽起來像你可能Calendar類的思維,雖然那麼你會想:

Calendar nextDay = currentDay.add(Calendar.DATE, 1); 

...這是不太一樣的東西。

我會強烈建議您放棄DateCalendar完全雖然,轉而開始使用Joda Time,這是一個好得多的日期/時間API。

請注意,您應該得到一個編譯時錯誤,指出thedate可能沒有被初始化,由於你的「捕獲並繼續」錯誤處理。

相關問題