获取两个 SYSTEMTIME 变量之间的差异

Kun*_*dan 5 winapi systemtime

例如我的代码如下。

void main()

{

       SYSTEMTIME LocalTime_Start = { 0 };

        GetLocalTime( &LocalTime_Start );

        SYSTEMTIME LocalTime_End = { 0 };
        // Some program Statements

         GetLocalTime( &LocalTime_End );

         // Now i want difference of two i.e.
         // can i do as following
         SYSTEMTIME localTime_diff = LocalTime_End - LocalTime_Start;
         // guys please let me know how to achieve that asap...thanks a lot in advance
}
Run Code Online (Sandbox Code Playgroud)

Lio*_*gan 3

使用以下命令将 SYSTEMTIME 结构转换为 FILETIME

FILTETIME ft;
::SystemTimeToFileTime(&sysTime, &ft);
Run Code Online (Sandbox Code Playgroud)

使用以下命令将 FILETIME 转换为 ULONGLONG:

ULARGE_INTEGER uli;
uli.LowPart = ft.dwLowDateTime ;
uli.HighPart= ft.dwHighDateTime;
ULONGLONG uft= uli.QuadPart;
Run Code Online (Sandbox Code Playgroud)

减去 ULONGLONG 即可得到 HectoNanoSec 中的时间差