2016-08-01 17 views
-3

タイムスタンプを読むXMLファイルがあります。 .InnerTextを使用して、これらのタイムスタンプを読んだとき、私は、各ノードのためにこれを取得します:xmlからDateTimeに変換する文字列

2016 6 9 15 8 28 

私の目標は、この形式にその文字列を変換することです:

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

は、これを行うための任意の解決策はありますか?

XML例:

XML example

+0

フォーマットが常に同じ場合、文字列を解析して、DateTimeクラスのコンストラクタオーバーロードを使用して、必要なものと同じ有効なDateTimeを作成できます。 https://msdn.microsoft.com/en-us/library/272ba130(v=vs.110).aspx – Max

+0

DateTime.ParseExact()メソッドを使用してDateTimeを取得できます。 – Adwaenyth

答えて

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の提案した方法を好む! :-)

0

まず、パース年、月、日、時、分、秒、あなたのXMLから整数へ、その後のDateTimeのコンストラクタのいずれかを使用します。

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

format stringsのいずれかを使用して日付をフォーマットします。

1

文字列が常に同じ形式である場合は、を使用してDateTimeオブジェクトを取得できます。

var result = DateTime.ParseExact(innerText, "yyyy M d H m ss", CultureInfo.InvariantCulture); 
関連する問題