该字符串未被识别为有效的DateTime,从索引25开始有一个未知单词

时间:2013-05-09 13:03:55

标签: c# date datetime

我从xml文件中获取pubDate节点, Item.PubDate有我抓住的日期。

NewsItem.Date是我的数据库表列中的datetime列。

但我似乎无法将其解析为日期时间。

我得到"The string was not recognized as a valid DateTime, There is an unknown word starting at index 25"

Item.Pubdate有此值:“星期四,2013年5月9日05:04:18 PDT”

当我尝试:

NewsItem.Date = DateTime.Parse(item.PubDate);

我收到了这个错误。

pubDates工作的其他xml文件怎么样?

他们有“星期四,2013年5月9日09:15:11 GMT”?

2 个答案:

答案 0 :(得分:2)

您的字符串包含PDT(时区信息),您无法解析字符串中的字符串,请用空字符串替换,然后解析。

NewsItem.Date = DateTime.Parse(item.PubDate.Replace(" PDT",""));

如果字符串包含GMT,那么

DateTime.Parse

  

包含Z或GMT时区指示符,样式包含RoundtripKind标志。日期和时间被解释为UTC。

答案 1 :(得分:0)

DateTime.Parse()或Convert.ToDateTime()无法识别PDT。但GMT被认可,这就是你的第二个工作的原因。

您需要指定PDT表示的值。

请在此处查看答案。 How to convert this 05:41:33 Apr 23, 2012 PDT value to datetime in C#?