2012-07-30 66 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