我正在寫這個問題,因爲我正在尋求最好的方法來做到這一點。我在我的程序中有很多這樣的內容,我想要製作一個方法來將包含一個定時器的Int32的Int32轉換爲格式良好的字符串。C#:實現格式良好的時間字符串的最佳方法?
因此,舉例來說,如果我的定時器INT是在讓我們說像16429 一個隨機數,這將是:
4 hours, 32 minutes and 9 seconds
如果是600,這將是:
10 minutes
如果它是60,這將是
1 minute
如果是172801,這將是
2 days and 1 second
如果是32,這將是
32 seconds
我想要的「S」型的,在像‘分’每個單詞的結尾,‘第二’和‘天’,只如果它不等於1,則放S,因此它不是真的需要正確發音。如果需要的話,我還只需要幾天和幾小時以及其他東西,所以如果定時器在幾秒鐘之內就不到1天,它只會顯示幾小時,幾分鐘和幾秒鐘,或者需要什麼。
達到這樣的最佳方式是什麼?我有這個功能,下面,但它是非常混亂的,只有上升到分和秒,而不是幾小時或幾天:
public static string GetConvertedTime(int timer)
{
int Minutes = timer/60;
int Seconds = timer - Minutes * 60;
if (timer < 60)
{
string secs = (Seconds != 1) ? "s" : "";
return "" + timer + " second" + secs;
}
else
{
if (Seconds < 1)
{
string mins = (Minutes != 1) ? "s" : "";
return "" + Minutes + " minute" + mins;
}
else
{
string mins = (Minutes != 1) ? "s" : "";
string secs = (Seconds != 1) ? "s" : "";
return "" + Minutes + " minute" + mins + " and " + Seconds + " second" + secs;
}
}
}
到底是什麼做到這一點的最好方法是什麼?
鏈路只有答案不是非常有用 –
@Buhbuh,確定他們是什麼你會期待在答案中,來自github的完整源代碼?知道產品存在是有用的,有一個鏈接到它甚至更好 – pm100
@ pm100我認爲一個合理的期望是顯示如何完成使用該庫的任務。 「試試這個圖書館」不僅僅是一個答案,而是一個評論。 –