我有来自RSS Feed的Thu, 06 Nov 2014 10:47:21 GMT
的值。我想将此字符串保存到MS SQL数据库中的DateTime字段。但是我收到了错误
'字符串未被识别为有效的DateTime'
DateTime date = Convert.ToDateTime(a.PubDate);
string dateString = a.PubDate;
DateTime convertedDate = DateTime.ParseExact(dateString, "ddd dd MMM yyyy hh:mm:ss ttt", System.Globalization.CultureInfo.InvariantCulture);
db.Entry(a).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
答案 0 :(得分:2)
您似乎忘记使用,
错误使用的ttt
格式说明符,即使它存在。只有t
和tt
说明符,它们适用于AM / PM指示符。
string s = "Thu, 06 Nov 2014 10:47:21 GMT";
DateTime dt;
if(DateTime.TryParseExact(s, "ddd, dd MMM yyyy hh:mm:ss 'GMT'",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt);
}
您需要将GMT
部分用作文字字符串分隔符,因为时区缩写名称未标准化。例如; CST
可以是中央标准时间或中国标准时间或古巴标准时间。