2012-01-25 10 views

risposta

11

Determinare ore, minuti e secondi in questo modo:

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

In alternativa, è possibile determinare minuti in questo modo una volta che si conosce il ore:

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

cosa significa floor? – Pisti

+0

Non importa, l'ho reso Java –

+0

FYI, floor significa 'arrotondare al numero intero più vicino', proprio come '(int) number' fa in Java. Esiste anche una funzione 'Math.floor()' che restituisce un 'double'. –

1

è necessario definire prima, come questo numero è costruire, per esempio perché non può stare in piedi per

00 ore, 02 minuti e 48 sseconds

+0

So per certo che il calcolo si basa su SECONDI, quindi deve essere 00:04:08 – Pisti

+0

Ahh, mi dispiace, allora la risposta da "chiodo" è quella giusta :). scusa. sebbene tu voglia avere i minuti <60, quindi devi usare anche "%" in minuti. – Martin

+0

Heh Ho avuto lo stesso in un primo momento. Anche rimosso un commento senza senso per questo :-) –

3

È necessario moltiplicarlo a milisec. Come 248 * 1000; Quindi data d = nuova data (248 * 1000); E avrai un oggetto dati. d.getHours(). ad esempio è possibile utilizzare anche SimpleDateFormat. Che può formattare i dati con un po 'di pattern e inviarli alla stringa Come yyyy-MM-hh HH: mm

+0

Un buon approccio, lascia che le librerie standard facciano il loro lavoro. –