winapi, разница во времени
От: Аноним  
Дата: 06.10.10 16:02
Оценка:
Всем привет!

Пишу на С + winapi, нужно посчитать разницу между двумя датами — как это правильно сделать? Сейчас делаю так:

    FILETIME ft;
    SYSTEMTIME st;
    GetLocalTime(&st);
    SystemTimeToFileTime(&st, &ft);
    
    ULARGE_INTEGER ui1;
    ui1.HighPart = ft.dwHighDateTime;
    ui1.LowPart = ft.dwLowDateTime;

    st.wHour += 2;
    FILETIME ft1;
    SystemTimeToFileTime(&st, &ft1);
    
    ULARGE_INTEGER ui2;
    ui2.HighPart = ft1.dwHighDateTime;
    ui2.LowPart = ft1.dwLowDateTime;

    ft1.dwHighDateTime = ui2.HighPart - ui1.HighPart;
    ft1.dwLowDateTime = ui2.LowPart - ui1.LowPart;

    FileTimeToSystemTime(&ft1, &st);


Надеюсь в st в итоге получить разницу в 2 часа (т.к. st.wHour += 2), но получаю 1 месяц 1 день и 2 часа.. Как правильно это сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.