Windows의 FileTimeToDosDateTime API 사용하여, 일, 월, 년 정보를 정확히 빼오신분 계신가요?

ikpil의 이미지

MSDN 을 보면, http://msdn.microsoft.com/en-us/library/ms724274%28VS.85%29.aspx

각 비트에 각 정보가 들어 있다고 나옵니다.
그래서 비트 연산해서 가져 왔으나, 시간이 맞지 않습니다.

예를 들어 2009-02-08 일짜 파일을 DosDateTimeToFileTime 로 얻어 오면
이상한 값을 얻어 오게 됩니다.

예)

::FileTimeToDosDateTime(&ftConvWrite, &dosdate, &dostime);

unsigned int day = dosdate >> (16 - 5);
unsigned int mon = (dosdate << 5) >> (16 - 4);
unsigned int year = (dosdate << 9) >> (16 - 7);

도통 무엇이 문제인지 모르겠습니다.

winner의 이미지

위치가 거꾸로라고 생각해보시고 작성해보시죠.