我正在一个框架中生成代码。日期和时间字段的属性之一是其格式。它必须是DateTime.ToString()接受的格式,例如dd/MM/yyyy。如何验证应用程序中键入的掩码是否为.ToString()的有效日期时间模式?

最佳答案

第一个变体使用System.Globalization。二是脏。

static bool ValidateFormat(string customFormat)
{
    return !String.IsNullOrWhiteSpace(customFormat) && customFormat.Length > 1 && DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns().Contains(customFormat);
}

static bool ValidateFormat(string customFormat)
{
    try
    {
        DateTime.Now.ToString(customFormat);
        return true;
    }
    catch
    {
        return false;
    }
}

10-07 23:06