如何转换这种日期(不知道它是哪种格式)?

时间:2012-11-15 08:59:28

标签: c# date

我从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,因此缺少时间。为什么呢?

2 个答案:

答案 0 :(得分:1)

根据您的最新更新:

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

Response.Write(d.Hour + "<br />");

答案 1 :(得分:1)

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

XElement xElem = new XElement("Time", "2012-08-29T18:18:00+02:00");
var dt = (DateTime)xElem;