无法将日期字符串转换为日期时间
本文关键字:日期 时间 转换 字符串 | 更新日期: 2023-09-27 18:17:16
我有一个字符串:
string test="September 9th, 2015"
我需要将其转换为日期时间格式,所以我尝试:
DateTime dt= Convert.ToDateTime(test);
并得到一个异常(字符串未被识别为有效的日期时间)。我想这可能是由于"th"之后的一天。是否有一个简单的方法来转换这个字符串到日期时间?
试试这个函数
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");
}
使用 调用
DateTime dt= ParseDate(test);
尝试DateTime。ParseExact也可以传递格式字符串
当您正在解析字符串而不是转换它时,请使用此
DateTime dt = DateTime.ParseExact(test, "MMMM d'"th'", yyyy")
更多信息可在此找到https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx