将字符串从xml转换为DateTime

时间:2016-08-01 09:50:41

标签: c# datetime

我有一个XML文件,我从中读取时间戳。当使用.InnerText读取这些时间戳时,我将为每个节点获取此信息:

 2016  6  9  15  8  28 

我的目标是将该字符串转换为以下格式:

2016-06-09T15:08:28.000000+00:00

有没有解决方法呢?

XML 示例:

XML example

3 个答案:

答案 0 :(得分:1)

如果字符串的格式始终相同,则可以使用DateTime.ParseExact获取DateTime对象。

var result = DateTime.ParseExact(innerText, "yyyy M d H m ss", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

首先,从XML到整数解析年,月,日,小时,分钟和秒,然后使用DateTime的构造函数之一:

DateTime date = new DateTime(int year, int month, int day, int hour, int minute, int seconds);

然后使用format strings之一格式化您的日期。

答案 2 :(得分:0)

最好的方法是从XML获取日期的每个组件。如果要开始使用InnerText属性,请尝试使用:

var input = "2016 6 9 15 8 28 ";
var parts = input.Split(new char[] { ' ' },
    StringSplitOptions.RemoveEmptyEntries)
    .Select(n => Int32.Parse(n)).ToArray();
var dt = new DateTime(parts[0], parts[1], parts[2], parts[3], parts[4], parts[5]);

我更喜欢上面Alex建议的方法! : - )