2016-12-21 281 views
0

我有一個文本框,用戶可以在估計時間內輸入,例如可能是150小時。我該如何格式化?時間自動格式化到00:00:00所以如果我在150個小時內進入其更改爲34.22:59:59格式化時間大於24小時

TimeSpan tmpEstimate; 
TimeSpan? TimeEstimate; 

if (TimeSpan.TryParse(txtEstimateHrs.Text, out tmpEstimate)) 
    TimeEstimate = tmpEstimate; 
else 
    TimeEstimate = null; 

用戶將只能在輸入時間,所以我不需要格式化幾分鐘或幾秒鐘,但現場也可以因此它需要接受空時間到

回答

4

也許最好是使用double值輸入,而不是time

OR

double? TimeEstimate = null; 
double tmpEstimate; 
if (double.TryParse(txtEstimateHrs.Text, out tmpEstimate)) 
{ 
    TimeEstimate = tmpEstimate; 
} 
+0

更完整:'double tmpEstimate;如果(double.TryParse(txtEstimateHrs.Text,outtmpEstimate)) {TimeEstimate = TimeSpan.FromHours(tmpEstimate);其他 {TimeEstimate = null; }根據需要,空白文本字段將轉到「else」分支。 –

+0

@JeppeStigNielsen謝謝你,自由地編輯答案。至少,我的:) – Backs

+0

TimeEstimate仍在格式化小時。如果我輸入150 TimeEstimate將150更改爲'6.06:00:00' – user123456789

1

如果你只在小時有興趣再看看TimeSpan.FromHours(),這需要一些時間,讓你一個時間跨度對象只值。 如果該值爲null,則可以分開處理。

相關問題