2015-05-14 80 views
0

在我的應用程序中有兩個按鈕。一個會顯示開始時間,第二個會顯示點擊時的停止時間。我需要得到這兩個值,計算差異並乘以另一個值。下面是我如何設置值的標籤之一:如何在android中獲得兩個時間差異

if (v == btnstart) { 
    Toast.makeText(getApplicationContext(), "Work Start", Toast.LENGTH_LONG).show(); 
    Date d=new Date(); 

    SimpleDateFormat sdf=new SimpleDateFormat("hh:mm a"); 
    String currentDateTimeString = sdf.format(d); 
    txtstart.setText(currentDateTimeString); 
} 
+0

您是否嘗試過尋找同樣的問題? http://stackoverflow.com/a/5127822/1178798 'long start = System.currentTimeMillis();長結束= System.currentTimeMillis(); long diff =結束 - 開始; DateTime dt = new DateTime(diff);' – zkristic

回答

0

只要您可以使用System.currentTimeMillis()爲您計算

if (v == btnstart) { 
    Toast.makeText(getApplicationContext(), "Work Start", Toast.LENGTH_LONG).show(); 
// Date d=new Date(); 

// SimpleDateFormat sdf=new SimpleDateFormat("hh:mm a"); 
// String currentDateTimeString = sdf.format(d); 
    startTime = System.currentTimeMillis(); 
    txtstart.setText(currentDateTimeString); 
} else if (v == btnDone) { 
    Toast.makeText(getApplicationContext(), "Work Done", Toast.LENGTH_LONG).show(); 
doneTime = System.currentTimeMillis(); 
takenTime = doneTime - startTime; 
txtDone.setText(takenTime); 
} 
2

當你點擊開始時間按鈕,得到一個長變量使用System.currentTimeMillis();的時間,因爲時間會以毫秒爲單位,同樣在StopTimer按鈕ü可以做相同。 之後,計算兩次以毫秒爲單位的差值。 以防萬一,如果你想將毫秒轉換爲秒,然後除以1000. 希望這可以幫助你。

+0

如果任何解決方案爲您工作,請接受答案。謝謝 :) – frost

0

嘗試

long start = System.currentTimeMillis(); 
long end = System.currentTimeMillis(); 
long diff = end - start; 
DateTime dt = new DateTime(diff); 
相關問題