このサイトでそのコードが見つかり、このコードは私のケースで機能しますが、経過時間「期間」を直接取得して SimpleDateFormat("HH:mm:ss") でフォーマットする方法はありますか? より具体的には.. 1970 年から HH:mm:ss を取得せずに、このようなものが必要です :) 、例: "00:00:10"
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 期間 = endTime-startTime; durationStr=sdf.format(期間);
public long startTime;
public long endTime;
String durationStr;
public long durationSec;
public long minutes,seconds,hours;
@Override
public void onCreate(){
super.onCreate();
//service started
startTime = System.currentTimeMillis();
}
public getLastLocation(){
//this is where the service ends
endTime=System.currentTimeMillis();
Date d = new Date(endTime);
Date d1 = new Date(startTime);
duration = d.getTime() - d1.getTime();
durationSec = TimeUnit.MILLISECONDS.toSeconds(duration);
seconds = durationSec % 60;
durationSec/= 60;
minutes = durationSec % 60;
durationSec /= 60;
hours = durationSec % 24;
durationStr=String.valueOf(hours)+" "+String.valueOf(minutes)+" "+String.valueOf(seconds);