C# DateTime.TryParseExact()返回false
我有以下代码C# DateTime.TryParseExact()返回false,c#,datetime,tryparse,C#,Datetime,Tryparse,我有以下代码 public static void Main() { DateTime D = new DateTime(); D = DateTime.Now; string s1 = D.ToString("ddMMMMyyyy"); Console.WriteLine(s1); Console.WriteLine(DateTime.TryParseExact(s1, "ddMMMyyyy", CultureInfo.InvariantCultur
public static void Main()
{
DateTime D = new DateTime();
D = DateTime.Now;
string s1 = D.ToString("ddMMMMyyyy");
Console.WriteLine(s1);
Console.WriteLine(DateTime.TryParseExact(s1, "ddMMMyyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out D));
Console.ReadKey();
}
有人能帮我认识到我犯的明显错误吗
我已将DateTime.Now转换为自定义格式的字符串,并尝试将其转换回,但TryParseExact返回false。简短回答:MMMM不等于MMM
旁注:用CultureInfo.InvariantCulture解析这样的字符串只能识别英文名称,似乎在使用其他语言的机器上会失败。我现在想踢自己一下。呵呵,非常感谢。不,我需要那种格式,不是随意的。必须将日期作为表名存储在mysql@Nahum利特文:这是对别人答案的大胆修改。抱歉,我已回滚您输入的代码,因为它似乎无法在我的计算机上正确编译您的代码返回1.1.0001作为日期。请考虑用测试代码发布分离的答案。使用字符串变量可能是const来表示格式。通过这种方式,您将避免魔术字符串和重复,这样的问题在将来不会发生。