我是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/

10-13 05:52