2014-03-12 81 views
-3

如何在Java中將小數轉換爲時間。Java十進制到時間轉換

實施例:

Double takttime = 1.08; //Which is 1 Minutes 4 Seconds. 

結果由時,分,秒分開。

+0

我不認爲任何一類存在於Java的this.If你想要的做只在Java然後添加你的邏輯或B中所述外部庫可以做到這一點 – Kick

+4

如何1.08轉化爲1分鐘,48秒? – femtoRgon

+1

也許1小時和.08是1分48秒? –

回答

3

試試這個:

double takttime = 1.08; 

int t = (int) (100 * takttime * 60); 

int hour = t/3600; 
t %= 3600; 
int min = t/60; 
t %= 60; 
int sec = t; 

或...也許:

double takttime = 1.08; 

int t = (int) (100 * takttime); 

int min = t/100; 
int sec = 60 * (t%100) 

取決於你所需要究竟是什麼。

+0

謝謝,我有一段時間把它放在一起。你的第一個例子很好地工作,只需要刪除小時int。 – eternityhq

1

假設takeTime是以分鐘爲單位的時間。然後:

double taktTime = 1.8; 
long timeInMilliSeconds = (long) Math.floor(taktTime * 60 * 1000); 
Date date = new Date(timeInMilliSeconds); 
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
System.out.println(sdf.format(date)); 
+0

非常好,雖然我不需要格式化時間,但我會把這個片段放在我的後口袋裏 – eternityhq

+0

plz編輯問題並將'1.08'轉換爲'1.8' –

+0

在我嘗試之前我注意到了;) – eternityhq