2012-10-11 118 views
2

我有約會的時間跨度,但目前用戶可以輸入12:00:00:00和我得到這個錯誤:如何刪除第三個冒號後的所有字符?

SqlDbType.Time overflow. Value '12:00:00:00' is out of range. Must be between 00:00:00.0000000 and 23:59:59.9999999.

因此,要阻止他們這樣做,我想如果我的第三個冒號後去除所有的字符會更容易。我該怎麼做呢?

+2

你會更好f限制用戶只能在第一時間輸入有效數據,例如兩個文本框夾緊爲2位數字。一些預先提交驗證。有些js可以將文本框鏈接在一起,因此用戶在輸入時不需要選擇第二個。 – Adrian

回答

3

你想12:00:00.00在你不12.00:00:00

注意句號。

嘗試

 string badtimes = "12:00:00:00"; 
     string goodtimes = badtimes.Substring(0, badtimes.LastIndexOf(":")); // 12:00:00 

還檢查了SqlDbType.Time and TimeSpan incompatibility

+0

對不起,我已經用 – Beginner

+1

這個測試過了,不是'12:00:00.00'嗎? – spender

+0

確定爲您添加了一小段剪輯 – inspite

1

在字符串中的點放置不正確: 12.00:00:00必須12:00:00.00

+0

用戶輸入12:00:00:00前端不允許使用點號 – Beginner

0

你可以試試這個

String time = "12:00:00:00"; 
     string[] parts = time.Split(new char [] {':'}, StringSplitOptions.RemoveEmptyEntries); 
     string correctFormating = String.Format("{0}:{1}:{2}.{3}",parts); 
相關問題