2016-08-01 3 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과 같은 유효한 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 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); 
관련 문제