2012-08-30 60 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可能没有被初始化,由于你的“捕获并继续”错误处理。

相关问题