我剛開始使用Unity,並且我不知道如何在我的代碼設計器VS中工作時正確調試腳本。String.Format和TimeSpan問題
我有這樣的代碼的腳本這不會給我我想要的格式:
private string GetTimeElapsedAsString()
{
TimeSpan timeElapsed = DateTime.Now.Subtract(_startTime);
return string.Format("{0:mm} {1:ss} {2:ff}", timeElapsed.TotalMinutes, timeElapsed.TotalSeconds, timeElapsed.TotalMilliseconds);
}
我想是這樣的:在給定的格式「0點07分32秒」:「MM: ss:ff「
我只是想要最簡單的方法來切斷除了每個時間單位的2位數以外的所有數字。 任何想法?
關心Kalrin。
編輯(升級): 我修改了代碼。現在,它看起來像這樣:
private string GetTimeElapsedAsString()
{
TimeSpan timeElapsed = DateTime.Now.Subtract(_startTime);
return string.Format("{0:00}:{1:00}:{2:00}", timeElapsed.Minutes, timeElapsed.Seconds, timeElapsed.Milliseconds);
}
不過當我去測試我的遊戲,我得到3個數字顯示毫秒 - 這究竟是爲什麼?
是這樣的: UI Text component in Unity
編輯: 我找到了一個解決方案,我的最後一個問題:
return string.Format("{0:00}:{1:00}:{2}", timeElapsed.Minutes, timeElapsed.Seconds, timeElapsed.Milliseconds.ToString().Substring(0,2));
所有我需要的是建立一個只包含一個.Substring(0,2) 2個整數的第一個數字。
Thx對於那些試圖幫助的人! 看起來不錯!!:
乾杯!
感謝這個作品! :) 你能告訴我天氣還有更好的方法嗎? 另外,IFormatProvider中有沒有什麼可以在每個單元之間包含「:」? – Kalrin
你可以把':'s放入字符串本身。 – SLaks
謝謝! - 你會看看我在帖子中的修改嗎? - 似乎我在最後一種格式(毫秒)得到3位數字。 – Kalrin