time_t time() { __int64 time1, time2, iTimeDiff; FILETIME fileTime1, fileTime2; SYSTEMTIME sysTime; /* Get 1970's filetime. */ fileTime1 = YearToFileTime(1970); /* Get the current filetime time. */ GetSystemTime(&sysTime); SystemTimeToFileTime(&sysTime, &fileTime2); /* Stuff the 2 FILETIMEs into their own __int64s. */ time1 = fileTime1.dwHighDateTime; time1 <<= 32; time1 |= fileTime1.dwLowDateTime; time2 = fileTime2.dwHighDateTime; time2 <<= 32; time2 |= fileTime2.dwLowDateTime; /* Get the difference of the two64-bit ints. This is he number of 100-nanosecond intervals since Jan. 1970. So we divide by 10000 to get seconds. */ iTimeDiff = (time2 - time1) / 10000000; return (int)iTimeDiff; }
time_t time() { __int64 time1, time2, iTimeDiff; FILETIME fileTime1, fileTime2; SYSTEMTIME sysTime; fileTime1 = YearToFileTime(1970); GetSystemTime(&sysTime); SystemTimeToFileTime(&sysTime, &fileTime2); time1 = fileTime1.dwHighDateTime; time1 <<= 32; time1 |= fileTime1.dwLowDateTime; time2 = fileTime2.dwHighDateTime; time2 <<= 32; time2 |= fileTime2.dwLowDateTime; iTimeDiff = (time2 - time1) / 10000000; return (int)iTimeDiff; }