2011-08-30 61 views
9

一定的時間添加到當前的時間,我用它寫

Calendar c = Calendar.getInstance(); 

與我得到一個當前時間,

String sHour = c.get(Calendar.HOUR_OF_DAY) 
String sMinute = c.get(Calendar.MINUTE) 

什麼,我需要的是例如添加1小時10分鐘 - 將其存儲在一個變量中,並且還可以使用10分鐘並將其另存爲另一個變量。 (我需要在TextView中使用它們)

我在Android文檔中看到了add();方法,但似乎無法理解它是如何工作的。  謝謝

回答

24

您發佈的代碼不會編譯,因爲Calendar.get()不返回字符串。你還應該注意到,日曆是可變的 - 它不像每個電話add返回一個新的日曆。所以你需要創建一個新的實例,每次你想要一個單獨的變量爲一個不同的值。例如:

Calendar now = Calendar.getInstance(); 

Calendar tmp = (Calendar) now.clone(); 
tmp.add(Calendar.HOUR_OF_DAY, 1); 
tmp.add(Calendar.MINUTE, 10); 
Calendar nowPlus70Minutes = tmp; 

tmp = (Calendar) now.clone(); 
tmp.add(Calendar.MINUTE, -10); 
Calendar nowMinus10Minutes = tmp; 

如果可能的話,我會強烈建議您使用Joda Time而不是日曆/時間 - 這是一個優越的API。但是,您可能需要修改其包含的時區,以便在開始時更快,並且減少apk的開銷。

+0

完美的幫我,謝謝 –

4

您可以直接致電System.currentTimeMillis() + INTERVAL

其中間隔爲毫秒(間隔例如:

public static final long INTERVAL = 1000 * 60 * 60 * 24; // 1 day 
+1

謝謝,這也是正確的做法。 – jackal