我有一个XML文件,我从中读取时间戳。当使用.InnerText
读取这些时间戳时,我将为每个节点获取此信息:
2016 6 9 15 8 28
我的目标是将该字符串转换为以下格式:
2016-06-09T15:08:28.000000+00:00
有没有解决方法呢?
XML 示例:
答案 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建议的方法! : - )