在C#中包含日期名称时,将DateTime字符串识别为有效

Eri*_*ikE 3 c# datetime tryparse dayofweek

当日期字符串附加了星期几时,TryParse失败:

DateTime d;
string dateString = "Tuesday May 1, 2012 9:00 AM";
return DateTime.TryParse(dateString, out d); // returns false
Run Code Online (Sandbox Code Playgroud)

处理此问题的最佳方法是什么,以便我可以安全地确定它是日期,并将其转换为日期?

Joh*_*han 5

您需要告诉TryParseExact寻找哪种格式:

DateTime d;
string dateString = "Tuesday May 1, 2012 9:00 AM";
return DateTime.TryParseExact(
   dateString,
   "dddd MMMM d, yyyy h:mm tt",
   System.Globalization.CultureInfo.CurrentCulture,
   System.Globalization.DateTimeStyles.None,
   out d
);
Run Code Online (Sandbox Code Playgroud)