【问题标题】:How to remove all characters after 3rd colon?如何删除第三个冒号后的所有字符?
【发布时间】:2012-10-01 20:21:53
【问题描述】:

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

SqlDbType.Time 溢出。值“12:00:00:00”超出范围。必须介于 00:00:00.0000000 和 23:59:59.9999999 之间。

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

【问题讨论】:

  • 您最好首先限制用户只能输入有效数据,例如两个文本框仅限于 2 位数字。一些预提交验证。一点js就可以将文本框链接在一起,这样用户在输入的时候就不需要选择第二个了。

标签: c# substring indexof


【解决方案1】:

你想要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

【讨论】:

  • 对不起,我都测试过了
  • OK 为你添加了一个小片段
【解决方案2】:

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

【讨论】:

  • 用户在 12:00:00:00 输入,前端不允许使用点
【解决方案3】:

你可以试试这个

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    相关资源
    最近更新 更多