タイムスタンプを読むXMLファイルがあります。 .InnerText
を使用して、これらのタイムスタンプを読んだとき、私は、各ノードのためにこれを取得します:xmlからDateTimeに変換する文字列
2016 6 9 15 8 28
私の目標は、この形式にその文字列を変換することです:
2016-06-09T15:08:28.000000+00:00
は、これを行うための任意の解決策はありますか?
XML例:
タイムスタンプを読むXMLファイルがあります。 .InnerText
を使用して、これらのタイムスタンプを読んだとき、私は、各ノードのためにこれを取得します:xmlからDateTimeに変換する文字列
2016 6 9 15 8 28
私の目標は、この形式にその文字列を変換することです:
2016-06-09T15:08:28.000000+00:00
は、これを行うための任意の解決策はありますか?
XML例:
最も良い方法は、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の提案した方法を好む! :-)
まず、パース年、月、日、時、分、秒、あなたのXMLから整数へ、その後のDateTimeのコンストラクタのいずれかを使用します。
DateTime date = new DateTime(int year, int month, int day, int hour, int minute, int seconds);
format stringsのいずれかを使用して日付をフォーマットします。
文字列が常に同じ形式である場合は、を使用してDateTimeオブジェクトを取得できます。
var result = DateTime.ParseExact(innerText, "yyyy M d H m ss", CultureInfo.InvariantCulture);
フォーマットが常に同じ場合、文字列を解析して、DateTimeクラスのコンストラクタオーバーロードを使用して、必要なものと同じ有効なDateTimeを作成できます。 https://msdn.microsoft.com/en-us/library/272ba130(v=vs.110).aspx – Max
DateTime.ParseExact()メソッドを使用してDateTimeを取得できます。 – Adwaenyth