Xin lỗi mã thô, tôi đang cố gắng hiển thị thời lượng của video được tính theo thời gian tính bằng giây. Tôi đã đi bên dưới nhưng nó không hoạt động đúng cách.display timespanely
Tôi muốn nó chỉ hiển thị độc đáo - nghĩa là hiển thị 9m: 59 không phải 09m: 59 giây.
Nếu giờ là số không hiển thị giờ, nếu phút bằng 0 không hiển thị phút.
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;
}
vì vậy câu hỏi của bạn là gì? hoặc bạn mong đợi điều gì sẽ xảy ra và điều gì xảy ra? xin đừng mong đợi tôi đoán :) – Alex
câu hỏi là thời gian hiển thị thời gian độc đáo cho các giây. nếu giờ là số không hiển thị giờ, nếu phút là 0 không hiển thị phút, cũng sẽ muốn ở định dạng 9m: 59s không phải 09m: 59 giây cho số phút đơn. – raklos
Chuỗi định dạng của bạn sai, không có thông số "m" hoặc "h". Hãy xem [MSDN] (http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx). Bạn chỉ đang đối phó với "số" chứ không phải "phút/giây"! Ngoài ra, bạn không cần phải chỉ định rõ ràng "2 địa điểm" cho các giá trị> 10. –