2017-12-15 33 views
1

외부 응용 프로그램 용 XML 파일을 만들어야합니다. 파일 구조에 대한 설명이 없으므로 역 엔지니어링으로 처리해야합니다. 원래 필요한 파일의 특성은 다음과 같습니다.이중으로 보이는 문자열로 특수 Datetime 형식

LastChange = "43061.2997590394" 

나는 이것이 특별한 DateTime 형식의 결과라고 생각합니다.

DateTime.Parse("43061.2997590394")은 예외를 throw합니다.

누구에게 어떤 형식의 아이디어가 있습니까? MSDN에서

+0

'TimeSpan'의 일부 .Total * 속성 인 것 같습니다. – Ferus7

답변

4

사용 DateTime.FromOADate

double oaValue = double.Parse("43061.2997590394", CultureInfo.InvariantCulture); 
DateTime dt = DateTime.FromOADate(oaValue); // Result: 11/22/2017 07:11:39 

비고 :

OLE 자동화 날짜가 그 필수 구성 요소 일 수 이전 또는 자정 이후 부동 소수점 숫자로 구현됩니다

, 30 은 1899 년 12 월이고 그 분수 구성 요소는 해당 시간을 에 24로 나눈 시간을 나타냅니다. 예를 들어, 1899 년 12 월 31 일 자정은입니다. 1.0으로 표시되는; 1900 년 1 월 1 일 오전 6시는 2.25로 표시된다. 자정, 1899 년 12 월 29 일 -1.0으로 표시됩니다. 및 A.M., 29 012 , 1899 년 12 월은 -1.25로 표시됩니다.

기본 OLE 자동화 날짜는 자정 12 월 30 일 1899입니다 최소 OLE 자동화 날짜는 자정 년 1 월 1 일 0100 최대 OLE 자동화 날짜 DateTime.MaxValue, 마지막 순간 (31)의 12 월 안에 동일하다 9999.

+0

그게 효과가 있습니다. 감사 – sven