我想創建一個庫,因爲我找不到一個將秒或毫秒轉換爲時間的庫。到時候我的意思是:Java以一種智能的方式將秒轉換爲時間
1)如果我有61秒時間格式爲:1:01(而不是1:1)
2)如果我有1小時1分鐘相當於我想它顯示相同的:
public String secondsToTime(int seconds){
String format = "";
int currentMinutes = 0, currentHour = 0;
if((seconds/60) > 0) {
currentMinutes = seconds/60;
seconds = seconds - currentMinutes * 60;
}
if(currentMinutes >= 60)
{
currentHour = currentMinutes/60;
currentMinutes = currentMinutes - currentHour * 60;
}
if(currentHour == 0) {
if(currentMinutes < 10 && seconds < 10)
format = "0"+currentMinutes+":0"+seconds;
else if(currentMinutes > 9 && seconds < 10)
format = currentMinutes+":0"+seconds;
else if(currentMinutes > 9 && seconds > 9)
format = currentMinutes+":"+seconds;
else if(currentMinutes < 10 && seconds > 9)
format = "0"+currentMinutes+":"+seconds;
}
else
{
Log.i("TEST", "Current hour este" + currentHour);
if(currentMinutes < 10 && seconds < 10)
format = currentHour+":0"+currentMinutes+":0"+seconds;
else if(currentMinutes > 9 && seconds < 10)
format = currentHour+":"+currentMinutes+":0"+seconds;
else if(currentMinutes > 9 && seconds > 9)
format = currentHour+":"+currentMinutes+":"+seconds;
else if(currentMinutes < 10 && seconds > 9)
format = currentHour+":0"+currentMinutes+":"+seconds;
}
return format;
}
是否有快速的方法來做到這一點:1點01分00秒
我通過使以下結構來實現這一點?
這個問題不重複,因爲如果你想顯示我想要的格式,java.util.concurrent.TimeUnit
不符合標準。 我同意他爲你做了轉換,但是我仍然需要許多if語句來檢查每次是否有一個小時我只能顯示一個字符的分鐘數,而不顯示小時數,因爲與00小時無關。
我這樣做搜索和詢問這些問題,因爲我想用這個算法到媒體播放器上Android
展現的歌曲總時間和歌曲的當前第二。
例如,我有一些小時以上的混音和幾分鐘的音樂,播放音樂文件時顯示00:02:30總時間無關緊要,正確的方法是:2:30因爲沒有小時(小時== 0),如果音樂文件有2分3秒,說2:3是不正確的,正確的方法是2:03。
可能重複[如何將毫秒轉換爲「X分鐘,x秒」在Java?](http://stackoverflow.com/questions/62 5433/how-to-convert-milliseconds-to-x-mins -x-seconds-in-java) – sinclair
我已經檢查瞭解決方案@sinclair,如果我將61分鐘轉換爲小時,然後花一分鐘我將有1小時1分鐘,我想要這種格式的東西:1:01而不強迫它,因爲你可以看到我有很多如果做這種格式。 –