C# 如何验证字符串是否为特定日期格式?

C# 如何验证字符串是否为特定日期格式?,c#,C#,如何验证字符串的格式是否为“dd.MM.yyyy HH:MM:ss.mmm” 例如: 12.01.2011 13:26:10.000 13.05.2010 22:30:20.000 尝试用…解析它。尝试用…解析它 当它不是datetime格式时,将发生异常 或者可以使用台帕司 string c = "12.01.2011 13:26:10.000"; DateTime dt; if(!DateTime.TryParse(c,out

如何验证字符串的格式是否为
“dd.MM.yyyy HH:MM:ss.mmm”

例如:

12.01.2011 13:26:10.000 13.05.2010 22:30:20.000 尝试用…解析它。

尝试用…解析它

当它不是datetime格式时,将发生异常

或者可以使用台帕司

string c = "12.01.2011 13:26:10.000";
                DateTime dt;
                if(!DateTime.TryParse(c,out dt))
                {
                //rejected
                }
当它不是datetime格式时,将发生异常

或者可以使用台帕司

string c = "12.01.2011 13:26:10.000";
                DateTime dt;
                if(!DateTime.TryParse(c,out dt))
                {
                //rejected
                }
与所需的日期格式一起使用。这将确保仅匹配此特定格式,与正常的
Parse
/
TryParse
相反

string c = "12.01.2011 13:26:10.000";
DateTime result;
if (DateTime.TryParseExact(c, "dd.MM.yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) {
    // do something
} else {
    // do something else
}
与所需的日期格式一起使用。这将确保仅匹配此特定格式,与正常的
Parse
/
TryParse
相反

string c = "12.01.2011 13:26:10.000";
DateTime result;
if (DateTime.TryParseExact(c, "dd.MM.yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) {
    // do something
} else {
    // do something else
}

您可以使用
TryParseExact

        string format = "dd.MM.yyyy HH:mm:ss.fff";
        string c = "12.01.2011 13:26:10.000";
        CultureInfo enUS = new CultureInfo("en-US");

        DateTime result;
        if (DateTime.TryParseExact(c, format, enUS, DateTimeStyles.None, out result))
        {
            Console.WriteLine("Right Format");
        }
        else
        {
            Console.WriteLine("Wrong Format");                
        }

您可以使用
TryParseExact

        string format = "dd.MM.yyyy HH:mm:ss.fff";
        string c = "12.01.2011 13:26:10.000";
        CultureInfo enUS = new CultureInfo("en-US");

        DateTime result;
        if (DateTime.TryParseExact(c, format, enUS, DateTimeStyles.None, out result))
        {
            Console.WriteLine("Right Format");
        }
        else
        {
            Console.WriteLine("Wrong Format");                
        }

@德雅:你说太慢是什么意思?您的绩效标准是什么?我有84000多个数据。所以,当程序试图通过这种方式解析时,需要2分钟以上的时间。。好的,现在我已经在尝试TryParse;)我试过了,但有点错误:if(DateTime.TryParse(c,CultureInfo.InvariantCulture,“dd.MM.yyyy HH:MM:ss.fff”,result)){}结果类型是DateTime..@derya,看看我的答案,找到一个有效的
TryParseExact
解决方案。试试这个DateTime.TryParseExact(c,“dd.MM.yyyyyy HH:MM:ss.fff”,CultureInfo.InvariantCulture,DateTimeStyles.None,out result)@derya:你说太慢是什么意思?您的绩效标准是什么?我有84000多个数据。所以,当程序试图通过这种方式解析时,需要2分钟以上的时间。。好的,现在我已经在尝试TryParse;)我试过了,但有点错误:if(DateTime.TryParse(c,CultureInfo.InvariantCulture,“dd.MM.yyyy HH:MM:ss.fff”,result)){}结果类型是DateTime..@derya,看看我的答案,找到一个有效的
TryParseExact
解决方案。试试这个DateTime.TryParseExact(c,“dd.MM.yyyyyy HH:MM:ss.fff”,CultureInfo.InvariantCulture,DateTimeStyles.None,输出结果)