#ifndef WIN32
timeval tv;
gettimeofday(&tv, 0);
- return TimeStamp(tv.tv_sec*1000000LL+tv.tv_usec);
+ return TimeStamp(timeval_to_rawtime(tv));
#else
- static RawTime epoch = 0;
- if(!epoch)
- {
- SYSTEMTIME st;
- st.wYear = 1970;
- st.wMonth = 1;
- st.wDay = 1;
- st.wHour = 0;
- st.wMinute = 0;
- st.wSecond = 0;
- st.wMilliseconds = 0;
-
- FILETIME ft;
- SystemTimeToFileTime(&st, &ft);
- epoch = (ft.dwLowDateTime+(static_cast<RawTime>(ft.dwHighDateTime)<<32))/10;
- }
-
FILETIME ft;
GetSystemTimeAsFileTime(&ft);
- return TimeStamp((ft.dwLowDateTime+(static_cast<RawTime>(ft.dwHighDateTime)<<32))/10-epoch);
+ return TimeStamp(filetime_to_rawtime(ft));
#endif
}