2012-07-30 112 views
1

我无法获得Blackberry Java中的add功能。如何修改日期?

// Date 
private static DateFormat dateFormat = new SimpleDateFormat(
     "yyyy-MM-dd hh:mm:ss"); 
private static Calendar cal = Calendar.getInstance(); 
public static final String date = dateFormat.format(cal.getTime()) 
     .toString(); 

cal变量没有add功能,因为我想,以减少当前日期1天。

source表示使用cal.add(Calendar.DATE, -1);

回答

1

试试这个:

Calendar cal = Calendar.getInstance(); 
cal.setTimeInMillis(cal.getTime() - DateTimeUtilities.ONEDAY); 

更新的基础上,ecb0628的回答和paulkayuk的评论。

检查CalendargetTimeInMilis(),setTimeInMillis(long millis)DateTimeUtilities.ONEDAY

+0

请注意,在使用Java进行BlackBerry编程时,无需定义您自己的一天中的tick值。 BlackBerry API为您定义的这些API已经见过DateTimeUtilities.ONEDAY =一天内的滴答数量 – paulkayuk 2012-07-30 09:12:28

3

以下解决方案在使用Java SE时适用。我还没有验证过使用BlackBerry Java ME。但是,由于我只使用SE version of CalendarBlackBerry version of Calendar中存在的函数,因此我对此解决方案的准确性有很好的感觉。在您的代码中追加以下行:

long curTime = cal.getTimeInMillis(); 
curTime -= 1000*60*60*24; 
cal.setTimeInMillis(curTime); 
System.out.println(dateFormat.format(cal.getTime()).toString()); 
+1

我错过了'Calendar'中的'getTimeInMillis()'。很好的答案。 – Rupak 2012-07-30 06:35:42

+0

另请参阅BlackBerry DateTimeUtilities.ONEDAY为您在一天内的毫秒数(滴答) – paulkayuk 2012-07-30 09:14:02