c#中日期时间转换的问题

pri*_*kar 1 c#

我有一个问题,而转换为字符串,其值是dd.mm.yyyyDateTime在C#

string OriginalDateFormat = "28.06.2009";
DateTime dt= Convert.ToDateTime(OriginalDateFormat);
Run Code Online (Sandbox Code Playgroud)

抛出异常 "String was not recognized as a valid DateTime."

但如果它在mm.dd.yyyy那时它运行良好.

我用Google搜索并获得了很多网站,但都是徒劳的

任何的想法?

提前致谢.

Jon*_*eet 8

使用DateTime.ParseExact并指定确切的格式字符串:

DateTime dt = DateTime.ParseExact("28.06.2009", "dd'.'MM'.'yyyy",
                                  CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

如果这是来自用户输入的值,您可能希望使用DateTime.TryParseExact,以便您可以优雅地处理失败:

DateTime dt;
if (DateTime.TryParseExact("28.06.2009", "dd'.'MM'.'yyyy",
                        CultureInfo.InvariantCulture, 
                        DateTimeStyles.None, // Default formatting options
                        out dt))
{
    Console.WriteLine("Successfully parsed {0}", dt);
}
else
{
    Console.WriteLine("Did not recognise date");
}
Run Code Online (Sandbox Code Playgroud)