我目前正在制作一个注册系统,我想要类似 [Required](属性?)的东西来检查输入字符串是否采用正确的时间格式(18:00、20:00、1:00 等),我怎么做?它有一个功能还是必须手动完成?谢谢。
问问题
1816 次
4 回答
2
于 2014-05-05T08:06:16.757 回答
1
我会建议这样的方法:
public bool IsValidTime(string time)
{
DateTime dummyDate;
return DateTime.TryParseExact(time, new[] { "HH:mm", "H:mm" },
CultureInfo.InvariantCulture,
DateTimeStyles.NoCurrentDateDefault, out dummyDate);
}
此方法使用 1 位或 2 位数字小时数验证 24 小时制时钟格式。
它使用提供的输入给出以下结果:
"00:00" => true
"20:00" => true
"26:00" => false
"1:00" => true
"10:5" => false
于 2014-05-05T08:15:41.347 回答
1
您可以使用RegularExpression
as 验证属性:
[RegularExpression(@"^([0-1]\d|2[0-3]):([0-5]\d)$", ErrorMessage = "invalid date format")]
于 2014-05-05T08:07:21.620 回答
0
使用 TimeSpan.TryParse 将时间间隔的字符串表示形式转换为其等效的 TimeSpan 并返回一个指示转换是否成功的值http://msdn.microsoft.com/en-us/library/3z48198e(v=vs.110) .aspx
于 2014-05-05T08:00:30.853 回答