我需要从Java ME midlet获取昨天的日期 我知道Java的Calendar对象有一个add方法,但是Java ME的Calendar没有它 是否有一个简单的方法来重温昨天的约会?
感谢。
答案 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());
如果指定了错误的日期,日历将抛出异常。通过这种方式,我们检查月份的日期是否正确。