2012-01-25 13 views

Odpowiedz

11

Ustal godziny, minuty i sekundy tak:

int hours = (int) (time/3600); 
int minutes = ((int) (time/60)) % 60; 
int seconds = time % 60; 

Alternatywnie, można określić minut jak to kiedyś wiesz godziny:

int minutes = (int) ((time - hours * 3600)/60)); 
+0

co oznacza skrót? – Pisti

+0

Nieważne, zrobiłem to Java –

+0

FYI, floor oznacza "zaokrąglenie w dół do najbliższej liczby całkowitej", tak jak "(int) number" w Javie. Istnieje również funkcja 'Math.floor()', która zwraca 'double'. –

1

należy najpierw określić, w jaki sposób tworzona jest ta liczba, np. dlaczego nie może stanąć na

00 godzin, 02 minut i 48 sseconds

+0

Wiem na pewno, że obliczenia opierają się na SEKUNDACH, więc musi być 00:04:08 – Pisti

+0

ahh, przepraszam, wtedy odpowiedź z "gwoździa" jest właściwa :). Przepraszam. chociaż możesz chcieć mieć minuty <60, więc musisz również użyć "%" w minutach. – Martin

+0

Heh miałem to samo na początku. Nawet usunięto bzdurny komentarz do tego :-) –

3

Musisz go połączyć z milisek. Jak 248 * 1000; Następnie Data d = nowa Data (248 * 1000); I będziesz miał obiekt danych. d.getHours(). na przykład można również użyć SimpleDateFormat. Które mogą formatować dane z pewnym wzorcem i wyprowadzać je na ciąg Tak jak rrrr-MM-hh HH: mm

+0

Przyjemne podejście, niech standardowe biblioteki wykonają zadanie. –

Powiązane problemy