如何在第3次冒号后删除所有字符?

时间:2012-10-11 08:09:53

标签: c# substring indexof

我有一个日期时间跨度,但目前用户可以输入12:00:00:00,我收到此错误:

  

SqlDbType.Time溢出。值'12:00:00:00'超出范围。必须在00:00:00.0000000和23:59:59.9999999之间。

所以为了阻止他们这样做,我认为如果我在第三次冒号后删除所有字符会更容易。我该怎么做?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

字符串中的点未正确放置:  12.00:00:00必须为12:00:00.00

答案 2 :(得分:0)

你可以试试这个

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