Cod*_*ess 2 c# datetime type-conversion
我有一个字符串:
string test="September 9th, 2015"
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为DateTime格式,所以我试过:
DateTime dt= Convert.ToDateTime(test);
Run Code Online (Sandbox Code Playgroud)
并获得异常(String未被识别为有效的DateTime).我想这可能是因为"th"在一天之后.有没有一种简单的方法将此字符串转换为DateTime?
试试这个功能
private static DateTime ParseDate(string date)
{
string[] formats =
{
"MMMM d\"st\", yyyy",
"MMMM d\"nd\", yyyy",
"MMMM d\"rd\", yyyy",
"MMMM d\"th\", yyyy"
};
DateTime dt;
if (DateTime.TryParseExact(date, formats, CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
return dt;
}
throw new InvalidOperationException("Invalid Input");
}
Run Code Online (Sandbox Code Playgroud)
打电话使用
DateTime dt= ParseDate(test);
Run Code Online (Sandbox Code Playgroud)