DateTime dt=DateTime.FromOADate(duble); //e.g 3364072679.0
내 Double은 OleAut Date의 허용 범위보다 크다. 그러면 어떻게해야합니까?제한된 시간보다 두 배 큰 datetime 전달
DateTime dt=DateTime.FromOADate(duble); //e.g 3364072679.0
내 Double은 OleAut Date의 허용 범위보다 크다. 그러면 어떻게해야합니까?제한된 시간보다 두 배 큰 datetime 전달
분수 (시간) 부분이 중요하지 않은 경우에는 최대 OLE 날짜에 나머지를 추가 할 수 있습니다
double maxOLEDate = 2958466.0
int days = duble - maxOLEDate;
DateTime dt=DateTime.FromOADate(maxOLEDate).AddDays(days);
을 또는 다만 "최소"OLE 날짜에 값을 추가
DateTime dt = DateTime.FromOADate(0).AddDays((int)duble);
편집은
은 내가 그렇군요 - 날짜 시간 구조는 2,958,466.0 (12/31/9999) 과거 OLE 날짜 값을 지원할 수 없습니다. H. G. Wells이 귀하의 사용자가 아닌 한, 이것은 유효한 입력이 아닙니다.
online help for ToAuthDate
에 따르면 최대 OLE 날짜는 DateTime.MaxValue
(즉, 9999 년 말)과 동일합니다.
10,000 이상의 날짜를 실제로 사용해야합니까?
숫자가 범위를 벗어난 경우 올바른 입력이 아니므로 무시해야합니다. –