1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   |  
void UnixTime2WinFileTime(const time_t& src, FILETIME& dst)
{
    ULARGE_INTEGER ll; 
    ll.QuadPart = Int32x32To64(src, 10000000) + 116444736000000000;
    dst.dwLowDateTime = ll.LowPart;
    dst.dwHighDateTime = ll.HighPart;
}
 
void WinFileTime2UnixTime(const FILETIME& src, time_t& dst)
{
    ULARGE_INTEGER ll;
    ll.LowPart = src.dwLowDateTime;
    ll.HighPart = src.dwHighDateTime;
    LONGLONG secs = (ll.QuadPart - 116444736000000000) / 10000000;
    dst = sec; // <= verifier qu'on explose pas le time_t avant !
} | 
Partager