Przepraszam za trudny kod, próbuję wyświetlić czas trwania filmów z podaniem czasu w sekundach. Udało mi się przejść poniżej, ale to nie działa poprawnie.czas wyświetlania ładnie
Chcę, żeby ładnie się wyświetlała - tzn. Powinna wyświetlać 9m: 59s, a nie 09m: 59s.
Jeśli godziny są równe zero, nie wyświetlaj godzin, jeśli minuty są równe zero, nie wyświetlaj minut.
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;
}
więc to, co jest Twoje pytanie? lub co się stanie i co się stanie? proszę nie spodziewajcie się, że zgadnę :) – Alex
pytanie wyświetla czas trwania ładnie biorąc pod uwagę sekundy. jeśli godziny są zerowe, nie wyświetlaj godzin, jeśli minuty są zerowe, nie wyświetlaj minut, również w formacie 9m: 59s, a nie 09m: 59s dla pojedynczych minut. – raklos
Łańcuchy w formacie są błędne, nie ma specyfikatora "m" lub "h". Patrz [MSDN] (http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx). Po prostu zajmujesz się "liczbami", a nie "minutami/sekundami"! Nie musisz również jawnie określać "2 miejsca" dla wartości> 10. –