Beregning af tid

Tags:    c++

Hej, har en opgave hvor en række data gemmes i en SQL Server, bl.a. gemmes et timestamp. Jeg vil nu gerne beregne tidsforeskellen mellem to log. Systemet jeg arbejder i kan hente en tidsstempling via denne interne funktion uaArchiveGetFieldValueDate(hArchive,var1,var2) hvor den første parameter til dels er givet af systemet, nr. to angiver hvilken attribut der skal hentes fra, og nr. tre er den variabel hvori tidsstemplingen returneres i.(af typen LPSYSTEMTIME).
Hvis jeg med 'printf' læser start.wMinute, start.wSecond for jeg godt nok de tidspunkter jeg forventer.
Jeg læser så to record, hvorfra jeg så har to date/time jeg gerne vil trække fra hinanden. (Som er ret let i VB).

Jeg fandt timediff(end,start) men den vil kun regne på time_t.

Spørgsmålet er om der findes en anden funktion der kan klare denne lille opgave eller om jeg på en eller anden måde kan konverterer fra LPSYSTEMTIME -> time_t

Er der nogle der kan hjælpe mig lidt på vej ?


/Karsten



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato




Du kan konvertere en SYSTEMTIME struktur til en FILETIME struktur med SystemTimeToFileTime funktionen: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724948(v=vs.85).aspx

FILETIME kan fortolkes som en 64 bit værdi (to 32 bit værdier), som du bare kan trække fra hinanden.

Følgende bette program viser, hvordan man kunne gøre det:
Fold kodeboks ind/udC kode 




Indlæg senest redigeret d. 03.01.2013 09:18 af Bruger #2695
t