2011-07-29 81 views
1

我在java vm 1.6下使用eclipse pulsar。问题是java.util Calendar class add方法产生错误“方法add(int,int)未定义类型日历”但它的罚款按documentation罚款。J2ME日历添加日期问题

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

} 

回答

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

3

你说你使用的是Java 1.6,但它是为你的项目还是仅用于运行Eclipse?

如果你正在从事的项目与J2ME运行时中运行,你应该在文档这里寻找:

具体的Calendar class

的实现这里描述了“添加日期”方法:

+0

谢谢。任何简单的方法都可以添加日期 – ArK

+0

对CLASSPATH中的库进行重新排序以使您的代码能够与Java SE API的Calendar类一起使用可能不是一个好主意。原因在于它可能会使您的代码在您的计算机上的移动模拟器中工作,但是当您将MIDlet jar移动到实际的移动电话时,它可能无法工作,因为移动电话很可能只有Java ME API,而不是Java SE API。 –

+0

@Paniyar,看看[这里](http://tcstechies.wordpress.com/2008/09/10/date-add-in-midp-j2me-calendar/) – aioobe