检查用户输入的格式化时间是否正确

时间:2016-11-17 07:45:20

标签: c# asp.net

如何检查用户是否在“hh:mm:ss”这样的有效时间内输入的内容是:

string format = "hh:mm:ss";
static bool ValidateTime(string time, string format)
        {
            DateTime outTime;
            return DateTime.TryParseExact(time, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out outTime);
        }

然后检查它是真还是假:

 bool result = ValidateTime(redigerINDtextbox.Text, format);

        if (result)
        {
            redigerINDtextbox.Text = "yay";
        }
        else
            redigerINDtextbox.Text = "nay";

例如,在“7:17:05”甚至“14:23:23”解析时,它总是返回false。

2 个答案:

答案 0 :(得分:2)

hh是12小时制,所以“14:23:23”无法解析。对于24小时制,请使用HH

string format = "HH:mm:ss";

答案 1 :(得分:1)

因为您正在使用DateTime

试试这个

string format = "hh:mm:ss";
static bool ValidateTime(string time, string format)
{
TimeSpan times;
return TimeSpan.TryParseExact(time,
                                    format,
                                    CultureInfo.InvariantCulture,
                                    out times);
}