Java ME得到了昨天的日期

时间:2010-06-14 13:00:52

标签: java-me

我需要从Java ME midlet获取昨天的日期 我知道Java的Calendar对象有一个add方法,但是Java ME的Calendar没有它 是否有一个简单的方法来重温昨天的约会?

感谢。

3 个答案:

答案 0 :(得分:3)

这样的东西
Calendar c = Calendar.getInstance();
c.setTimeInMillis(c.getTimeInMillis() - MILLISECONDS_OF_ONE_DAY);

...

答案 1 :(得分:1)

或者,像这样:

Calendar c = Calendar.getInstance();
c.set(Calendar.DATE, c.get(Calendar.DATE) - 1);
c.computeTime(); // Make sure getTime returns the updated time

(此代码应符合CLDC 1.1 Calendar class

答案 2 :(得分:1)

    int ny = year, nm =month, nd =day;
    nd-=1;
    if (nd <= 0){
        nd = 31;
        nm-=1;
    }
    if (nm <= 0){
        nm = 12;
        ny-=1;
    }
    Calendar cal = Calendar.getInstance();
    try{
        cal.set(Calendar.YEAR, ny);
        cal.set(Calendar.MONTH,nm);
        cal.set(Calendar.DAY_OF_MONTH,nd);
    }catch(ArrayIndexOutOfBoundsException e){
        nd-=1;
        cal.set(Calendar.YEAR, ny);
        cal.set(Calendar.MONTH,nm);
        cal.set(Calendar.DAY_OF_MONTH,nd);
    }
    return new SimpleDate(cal.getTime());

如果指定了错误的日期,日历将抛出异常。通过这种方式,我们检查月份的日期是否正确。