我需要代码来验证HHMMSS格式的c#中的任何时间

时间:2011-01-17 06:12:07

标签: c# validation time

请帮我查找代码以便在c#中随时验证。 格式 - HHMMSS

2 个答案:

答案 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)

查看DateTime.TryParseExact

static bool IsTimeValid(string time)
{
  DateTime dt;

  return DateTime.TryParseExact(time, "HHmmss", 
    System.Globalization.CultureInfo.InvariantCulture, 
    System.Globalization.DateTimeStyles.None, out dt);
}