Я программист Linux, портировал некоторый код Windows на Linux.
Вот фрагмент кода Windows, который мне нужно портировать.
///////////////////////////////////////////////////////////////////////////////
//
// static DWORD private_GetLongTime(void)
//
// Function returns current time in the c-runtime format of the
// number of milliseconds since midnight, January 1, 1970.
//
///////////////////////////////////////////////////////////////////////////////
//
static DWORD private_GetLongTime(void)
{
SYSTEMTIME SystemTime;
DWORD dwDateTime = 0;
WORD wYear = 1970;
WORD wDays = 0;
INT64 FileTime;
INT64 FileTime2;
INT64 SecondsSince1970;
// read the current time
GetSystemTime(&SystemTime);
SystemTimeToFileTime(&SystemTime,(FILETIME *) &FileTime);
SystemTime.wYear = 1970;
SystemTime.wMonth = 1;
SystemTime.wDay = 1;
SystemTime.wHour = 0;
SystemTime.wMinute = 0;
SystemTime.wSecond = 0;
SystemTime.wMilliseconds = 0;
SystemTimeToFileTime(&SystemTime,(FILETIME *) &FileTime2);
SecondsSince1970 = (INT64) FileTime - (INT64) FileTime2;
dwDateTime = (DWORD ) (SecondsSince1970/ 10000000L);
return dwDateTime;
}
Комментарий говорит, что он возвращает миллисекунды,но, согласно моему пониманию API, он возвращается в считанные секунды. Пожалуйста, подтвердите ...