2012-10-11 166 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); 
相关问题