Java错误:找不到符号方法add(Date,int)

时间:2012-08-30 17:30:27

标签: java compiler-errors

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);
        }
    }

但我得到了这个错误,我无法弄清楚原因:

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

3 个答案:

答案 0 :(得分:0)

正如它所说,java.util.Date中没有add方法。 您可能需要查看GregorianCalendar。它有你需要的智能方法。或者甚至更好,使用第三方库JodaTime

答案 1 :(得分:0)

add(thedate, 1);

Calendar Class Date class中有一个add()方法 ....

<强>例如

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

答案 2 :(得分:0)

是的,那是因为Date没有add方法。是什么让你认为它做到了?

听起来你可能会想到Calendar类,尽管那时你想要:

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

......这不是一回事。

强烈建议您完全放弃DateCalendar,而是开始使用Joda Time,这是一个更好,更好的日期/时间API。

请注意,由于您的“捕获并继续”错误处理,您会收到编译时错误,指出thedate可能尚未初始化。