我是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;
}
Comment说它返回的是毫秒,但根据我对API的理解,它是在秒后返回的。。请确认。。。
最佳答案
static DWORD private_GetLongTime(void)
返回秒。
关于c - 此代码返回毫秒到纪元时间的秒数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52547501/