要轉換爲TimeSpan
從string
,你可以利用TimeSpan.Parse
,但你必須遵守這種格式[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
其中:
ws is Optional white space.
- is An optional minus sign, which indicates a negative TimeSpan.
d is Days, ranging from 0 to 10675199.
. is A culture-sensitive symbol that separates days from hours. The invariant format uses a period (".") character.
hh is Hours, ranging from 0 to 23.
: is The culture-sensitive time separator symbol. The invariant format uses a colon (":") character.
mm is Minutes, ranging from 0 to 59.
ss is Optional seconds, ranging from 0 to 59.
. is A culture-sensitive symbol that separates seconds from fractions of a second. The invariant format uses a period (".") character.
ff is Optional fractional seconds, consisting of one to seven decimal digits.
所以只是將天你其實可以使用TimeSpan.Parse
,只是通過在字符串中 - 但如果你想轉換分鐘則需輸入一些按摩是這樣的:
var input = string.Format("00:{0}", objTextBox.Text.PadLeft(2, '0'));
等等,那麼你可以發出var timeSpan = TimeSpan.Parse(input);
,因爲你已經正確格式化了它並且Parse
會成功。另一種選擇是將分鐘轉換成我猜想的日子,但這需要一些浮點工作,並且實際上,IMO並不是一個好的選擇。
你是如何將它呈現給用戶的? IE,選擇一個小時,分鐘秒的時間?這取決於你如何收集定時器的價值。一旦確定我們可以給你建議。 TimeSpan對象構造函數具有TimeSpan(ticks),TimeSpan(小時,分鐘,秒),TimeSpan(日,小時,分鐘,秒)或TimeSpan(日,小時,分鐘,秒,毫秒);從我看到的是Ticks,但我沒有看到任何驗證文本框的值。 – Sorceri