J2ME日历添加日期问题

时间:2011-07-29 08:08:01

标签: java-me calendar

我在java vm 1.6下使用eclipse脉冲星。问题是java.util Calendar类add方法引发错误“方法add(int,int)未定义为类型Calendar”,但根据documentation它没有问题。

package caltest;

import java.util.Calendar;
import java.util.Date;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class caltest extends MIDlet {

    public caltest() {
        // TODO Auto-generated constructor stub
    }

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
        // TODO Auto-generated method stub

    }

    protected void pauseApp() {
        // TODO Auto-generated method stub


    }

    protected void startApp() throws MIDletStateChangeException {
        // TODO Auto-generated method stub
            Calendar cal=Calendar.getInstance();
        cal.setTime(new Date());
        cal.add(Calendar.DAY_OF_MONTH, -5);
    }

}

2 个答案:

答案 0 :(得分:6)

这个怎么样?

// Subtract 5 days from the time in the calendar object
cal.setTime(new Date(cal.getTime().getTime() - 5 * 86400000));

// Subtract 5 days from "now" and set it in the calendar object
cal.setTime(new Date((new Date()).getTime() - 5 * 86400000));

答案 1 :(得分:3)

你说你使用的是Java 1.6,但这是针对你的项目还是只是为了运行Eclipse?

如果您正在使用的项目正在运行J2ME运行时,那么您应该查看此处的文档:

特别是Calendar class

此处描述了“添加日期”方法的实现: