Ho un conteggio dei secondi memorizzati nella variabile seconds
. Voglio convertire per esempio 1439 secondi a 23 minuti e 59 secondi. E se il tempo è maggiore di 1 ora (ad esempio 9432 secondi), a 2 ore, 37 minuti e 12 secondi.Come convertire secondi in minuti e ore in javascript
Come posso ottenere questo risultato?
sto pensando:
var sec, min, hour;
if(seconds<3600){
var a = Math.floor(seconds/60); //minutes
var b = seconds%60; //seconds
if (b!=1){
sec = "seconds";
}else{
sec = "second";
}
if(a!=1){
min = "minutes";
}else{
min = "minute";
}
$('span').text("You have played "+a+" "+min+" and "+b+" "+sec+".");
}else{
var a = Math.floor(seconds/3600); //hours
var x = seconds%3600;
var b = Math.floor(x/60); //minutes
var c = seconds%60; //seconds
if (c!=1){
sec = "seconds";
}else{
sec = "second";
}
if(b!=1){
min = "minutes";
}else{
min = "minute";
}
if(c!=1){
hour = "hours";
}else{
hour = "hour";
}
$('span').text("You have played "+a+" "+hour+", "+b+" "+min+" and "+c+" "+sec+".");
}
ma questo è un sacco di codice, e deve essere calcolata ogni secondo. Come posso ridurlo?
Ho risposto qui: [come convertire minuti in giorni, ore, minuti] (http://stackoverflow.com/questions/2751073/how-to-convert-minutes-to-days-hours-minutes/2751143 # 2751143) –
@RomainHippeau ciao! Sì, il mio codice funziona, ma è davvero grande, sto cercando di ridurlo (: –
puoi usare qualche libreria come dataformat –