请帮我查找代码以便在c#中随时验证。 格式 - HHMMSS
答案 0 :(得分:6)
最简单的方法可能是使用DateTime.TryParseExact
:
DateTime time;
bool valid = DateTime.TryParseExact(text,
"HHmmss",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out time);
注意“M”是几个月而“m”是分钟,“s”是秒; “HH”是24小时制的小时而不是“hh”,它会使用12小时制(通常在其他地方使用am / pm指示器)。
DateTimeStyles.None
表示使用默认选项。这将使用今天的日期作为与时间一致的日期。您可以指定使用1月1日1AD的DateTimeStyles.NoCurrentDateDefault
。
如果valid
为false,则time
将设置为DateTime.MinValue
。
如果您使用的是.NET 4,另一种方法是使用TimeSpan.TryParseExact
:
TimeSpan time;
bool valid = TimeSpan.TryParseExact(text,
"hhmmss",
CultureInfo.InvariantCulture,
out time);
注意这次使用“hh”而不是“HH”。有关详细信息,请参阅MSDN上的Custom TimeSpan format strings页面 - 但请记住,这仅适用于.NET 4。
答案 1 :(得分:2)
static bool IsTimeValid(string time)
{
DateTime dt;
return DateTime.TryParseExact(time, "HHmmss",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out dt);
}