2013-01-14 45 views
3

我被困在這個任務上。我想添加各種小時或分鐘到當前時間。因此,用戶按下按鈕,onClick將拉動當前時間,然後添加我決定的許多小時和分鐘。目前我已經增加了兩個小時,但我想能夠在2 hours14 minutes之間加減。用喬達時間進行時間計算?

這是我到目前爲止有:

public void onClickHere (View v) { 

    LocalTime localtime = new LocalTime(); 
    LocalTime dt = new LocalTime(localtime.getHourOfDay(), localtime.getMinuteOfHour()); 
    LocalTime twoHoursLater = dt.plusHours(2); 

    Text1.setText("Time: " + twoHoursLater); 

} 

現在上面的代碼做的我想要的一部分。它獲得當地時間,並增加兩個小時。但它顯示了很多額外的數字。秒&毫秒。

有沒有辦法對我來說,只顯示小時和分鐘?

通過調用getHourOfDay()getMinuteOfHour()它只拉小時和分鐘,但它仍然顯示秒和分鐘00.000

所以,如果我按下按鈕,現在它會顯示10:58:00.000。我想要顯示的是10:58

,並最終能夠添加分鐘,但我認爲這是另外一個問題,一個簡單的問題,我可以簡單地採取從已經知道如何添加兩個小時實施例。

希望我已經解釋了這不夠好。

回答

3

你需要使用一個DateTimeFormatter,例如:

DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm"); 
Text1.setText("Time: " + twoHoursLater.toString(formatter)); 

注:DateTimeFormatter是線程安全的,所以你可以將其定義爲private final static變量,並重新使用它,而不是創建一個實例每次onClickHere被調用。

+1

奇怪,因爲我確實研究過。我想我把它放在錯誤的地方,因爲我正在關閉部隊。 (我把它放在Localtime()位之上)。當然,當時我認爲這是正確的。非常感謝你,它完美的工作。會接受答案。 –