我有一個TimeSpan類的小問題,它可以解析23:59而不是24:00。解決TimeSpan解析24:00
當然,客戶想要輸入24:00來表示一天結束,而不是23:59或00:00,因爲00:00表示一天的開始。
目前我的代碼解析結束時間,像這樣:
if (!TimeSpan.TryParse((gvr.FindControl("txtTimeOff") as TextBox).Text, out tsTimeOff))
{
this.ShowValidationError(String.Format("Please enter a valid 'Time Off' on row '{0}'.", gvr.RowIndex + 1));
return false;
}
最新最好的解決辦法出現這種情況?
編輯:(方案1)
if ((gvr.FindControl("txtTimeOff") as TextBox).Text == "24:00")
{
tsTimeOff = new TimeSpan(24, 0, 0);
}
else
{
if (!TimeSpan.TryParse((gvr.FindControl("txtTimeOff") as TextBox).Text, out tsTimeOff))
{
this.ShowValidationError(
String.Format("Please enter a valid 'Time Off' on row '{0}'.", gvr.RowIndex + 1));
return false;
}
}
編輯:(溶液2)
string timeOff = (gvr.FindControl("txtTimeOff") as TextBox).Text;
if (!TimeSpan.TryParse(
timeOff == "24:00" ? "1.00:00:00" : timeOff
, out tsTimeOff))
{
this.ShowValidationError(
String.Format("Please enter a valid 'Time Off' on row '{0}'.", gvr.RowIndex + 1));
return false;
}
你可以簡單地處理字符串「24:00」作爲特例。 – codymanix
@codymanix - t hanks,我要去嘗試兩個選項建議 – WraithNath