다음을 통해 공유


SystemTimeToVariantTime 함수(oleauto.h)

시스템 시간을 변형 표현으로 변환합니다.

구문

INT SystemTimeToVariantTime(
  [in]  LPSYSTEMTIME lpSystemTime,
  [out] DOUBLE       *pvtime
);

매개 변수

[in] lpSystemTime

시스템 시간입니다.

[out] pvtime

변형 시간입니다.

반환 값

함수는 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

설명

변형 시간은 1900년 1월 1일부터 9999년 12월 31일 사이의 날짜를 나타내는 8 바이트 실수 값(double)으로 저장됩니다. 값 2.0은 1900년 1월 1일을 나타냅니다. 3.0은 1900년 1월 2일 등을 나타냅니다. 값에 1을 추가하면 날짜가 1일씩 증가합니다. 값의 소수 부분은 하루 중 시간을 나타냅니다. 따라서 2.5는 1900년 1월 1일 정오를 나타냅니다. 3.25는 1900년 1월 2일 오전 6:00 등을 나타냅니다. 음수는 1899년 12월 30일 이전의 날짜를 나타냅니다.

변형 시간이 1초로 확인됩니다. 입력 날짜의 모든 밀리초는 무시됩니다.

참고

변형 시간으로 작업할 때 윤년에 추가된 추가 날짜를 염두에 두어야 하며, 처리되지 않으면 예기치 않은 결과가 발생할 수 있습니다. 자세한 내용은 윤년 준비 상태를 참조하세요.

SYSTEMTIME 구조는 다음과 같은 이유로 유용합니다.

  • 모든 시간/날짜 기간에 걸쳐 있습니다. MS-DOS 날짜/시간은 1980년 1월 1일부터 2107년 12월 31일 사이의 날짜만 나타내는 것으로 제한됩니다.
  • 날짜/시간 요소는 비트 디코딩을 수행할 필요 없이 모두 쉽게 액세스할 수 있습니다.
  • National Data Support 데이터 및 시간 서식 함수 GetDateFormatGetTimeFormatLPSYSTEMTIME 값을 입력으로 사용합니다.
  • Windows에서 지원하는 기본 시간/날짜 데이터 형식입니다.
SystemTimeToVariantTime 함수는 잘못된 날짜를 수락하고 VARIANT 시간으로 확인할 때 수정하려고 합니다. 예를 들어 2001년 2월 29일과 같은 잘못된 날짜는 2001년 3월 1일로 resolve. 일만 수정되므로 월 값이 잘못되면 오류가 반환됩니다. 일수는 1에서 31 사이로 확인됩니다. 음수일 및 일수가 31일보다 크면 오류가 발생합니다. 31보다 작지만 해당 월의 최대 날짜보다 큰 날은 다음 달의 적절한 날로 승격됩니다. 0과 같은 날은 이전 달의 마지막 날로 확인됩니다. 예를 들어 2001년 2월 0일과 같은 잘못된 날짜는 2001년 1월 31일로 resolve.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 oleauto.h
라이브러리 OleAut32.lib
DLL OleAut32.dll