-1

我从 XML 文档中得到这种数据:

2012-08-29T18:18:00+02:00

我想用 DateTime 对象转换它。所以我可以随心所欲地管理它,只得到一天和/或一个月。

但如果我这样做:

DateTime.Parse("2012-08-29T18:18:00+02:00").Date

我得到类似的东西\/Date(1346191200000)\/:O

我哪里错了?我想我需要在解析时指定日期类型?


提出建议后,我尝试了以下数据:

string dataStr = "2012-11-15T13:50:58+01:00";
DateTime data = DateTime.Parse(dataStr).Date;
Response.Write(data.Hour + "<br />");

但输出是0,所以时间丢失了。为什么?

4

2 回答 2

1

根据您的最新更新:

DateTime d = DateTime.ParseExact("2012-11-15T13:50:58+01:00", "yyyy-MM-ddTHH:mm:ssK", null);

Response.Write(d.Hour + "<br />");
于 2012-11-15T09:03:15.543 回答
1

它是 xmls 中使用的标准格式,所有 xml 解析器都应该正确处理它。你不需要解析它。例如,使用 Linq2Xml,您所要做的就是将其转换为 DateTime 对象

XElement xElem = new XElement("Time", "2012-08-29T18:18:00+02:00");
var dt = (DateTime)xElem;
于 2012-11-15T09:07:20.860 回答