eDosStation/MK3/TimeFunctions.cpp
2021-05-11 16:46:20 +02:00

32 lines
No EOL
739 B
C++

#include "pch.h"
#include "TimeFunctions.h"
#pragma unmanaged
TimeFunctions::TimeFunctions()
{
}
void TimeFunctions::EpdTimeToFileTime( INT32 t, LPFILETIME pft)
{
LONGLONG ll;
ll = Int32x32To64(t, 10000000) + 125911584000000000; //1601-1-1 -> 2000
pft->dwLowDateTime = (DWORD)ll;
pft->dwHighDateTime = ll >> 32;
}
void TimeFunctions::UnixTimeToFileTime(time_t t, LPFILETIME pft)
{
// Note that LONGLONG is a 64-bit value
LONGLONG ll;
ll = Int32x32To64(t, 10000000) + 116444736000000000; //1601-1-1 1970-1-1
pft->dwLowDateTime = (DWORD)ll;
pft->dwHighDateTime = ll >> 32;
}
void TimeFunctions::UnixTimeToSystemTime(time_t t, LPSYSTEMTIME pst)
{
FILETIME ft;
UnixTimeToFileTime(t, &ft);
FileTimeToSystemTime(&ft, pst);
}