Scusa il codice approssimativo, sto cercando di visualizzare la durata dei video in base al tempo in secondi. Ho avuto un passaggio sotto ma non funziona correttamente.intervallo di visualizzazione piacevolmente
Desidero che venga visualizzato correttamente, cioè dovrebbe mostrare 9m: 59s non 09m: 59s.
Se le ore sono pari a zero non visualizzano le ore, se i minuti sono pari a zero non visualizzano i minuti.
public static string GetTimeSpan(int secs)
{
TimeSpan t = TimeSpan.FromSeconds(secs);
string answer;
if (secs < 60)
{
answer = string.Format("{0:D2}s", t.Seconds);
}
else if (secs < 600)//tenmins
{
answer = string.Format("{0:m}m:{1:D2}s", t.Minutes, t.Seconds);
}
else if (secs < 3600)//hour
{
answer = string.Format("{0:mm}m:{1:D2}s", t.Minutes, t.Seconds);
}
else
{
answer = string.Format("{0:h}h:{1:D2}m:{2:D2}s",
t.Hours,
t.Minutes,
t.Seconds);
}
return answer;
}
quindi qual è la tua domanda? o cosa ti aspetti che succeda e cosa succede? per favore non aspettarti che indovini :) – Alex
la domanda è la durata del tempo di visualizzazione ben fornita dei secondi. se le ore sono zero non visualizzano le ore, se i minuti sono zero non visualizzano i minuti, inoltre vorrebbero nel formato 9m: 59s non 09m: 59s per i minuti a cifra singola. – raklos
Le stringhe di formato sono errate, non esiste alcun identificatore "m" o "h". Vedere [MSDN] (http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx). Hai a che fare solo con "numeri" e non con "minuti/secondi"! Inoltre, non è necessario specificare esplicitamente "2 posti" per i valori> 10. –