2014-09-04 3 views
0

Excel 스프레드 시트를 읽을 수 있습니다.읽을 때 정확히 날짜가 변환되지 않습니다.

스프레드 시트의 값 7/24/2014 10:43:33 AM

의 OpenXML 41844.446908680555을 사용하여 판독 된 후 셀 값이다.

내가 날짜로 변환이 계산을 수행 할 때

dte = DateTime.FromOADate(double.Parse(value)); 

I 얻을 7/24/2014 10:43:32 AM

날짜/시간 변환하거나 내가 뭔가를 놓친 거지 때이 일반적인가요?

감사합니다.

답변

0

그냥 날짜 형식으로 셀을 포맷하십시오. 41844.446908680555는 Excel에서 날짜 값을 직렬화하는 방법입니다.

0

Excel에서 날짜 또는 시간을 날짜 형식으로 저장하면 1900 년 1 월 1 일 = 1 이되므로 날짜 형식으로 날짜를 저장하면 실제로 숫자 값이 저장됩니다 일 년 1 월 1 일 1900 그래서 예 365

차이 = 1 월 30-1900

하루 다수 등분의 분획 = 0.5 정도로 반 하루 12 시간이다.

그리고 그것의 재미는 지금 1 월 1 일부터 1900

은이 짓을 왜 이유를 41885.75 또는 오후 6시 9월-3-2014 또는 41885.75을 = 대한

이제 날짜가 수학 함수에 사용되는 허용합니다 . 또한 윤년과 같은 날짜를 팝업으로 표시하고 시간대를 다루는 더 쉬운 방법을 제공하는 많은 문제를 처리합니다.

2

DateTime.FromOADate (double.Parse (value)); 분수 초를 반올림하는 것보다 잘립니다. Excel은 날짜와 시간을 1900 년 1 월 1 일 이후 일 및 일 수로 저장합니다 (당시 1900 년 윤년이었던 Lotus 123과의 호환성을 염두에두고 윤년을지었습니다). 43 : 32.910 실제로

(: 2014년 7월 24일 10시 43분

따라서, 번호 41844.446908680555은 Excel의 정밀도 수준

  • 2014년 7월 24일 10 주어진로 변환 : 32.9099949030205)

관련 문제