This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problems with date algorithm


Hi everybody, I've a problem with an algorithm that calculates an interval
of time (days) after the current date, I use the function
GetSystemTime(&st), in this form the current date is stored in the
SYSTEMTIME st structure, but if I add some days to the structure member
the format is not conserved so the information in the structure must be
passed to a FILETIME ft structure with the SystemTimeToFileTime(&st, &ft)
function, in this form the information in the SYSTEMTIME structure is
passed to two members that are DWORD each, if this info is passed again to
a LARGE_INTEGER li structure, in the lcc-win32 compiler the definition of
this structure includes a member called QuadPart, in that way normal 64
bits arithmetic can be used to add the time elapsed, and passing the
LowPart and HighPart of the LARGE_INTEGER members to the corresponding
members in the FILETIME and then converting this info to SYSTEMTIME with
the function FileTimeToSystemTime(&ft, &st), the work is done; but when i
try to compile the code with mingw32, it says that in LARGE_INTEGER
doesn't exist a member called QuadPart. All this story leads me to this
question, exist a form in which I can make some arithmetic operations if
I've the current time in tow DoubleWords and the other operand is larger
(64 bits) because to add 6 days to the current time this must be expresed
in 100 nanosecond so ((6 days)*(24 hours)*(60 minutes)*(60
seconds)*(1000000000 miliseconds))/100 is the number that must be added to
the LARGE_INTEGER members LowPart and HighPart, but how can I split
correctly the number I want to add in order to make the sum in tow parts.
As I've mentioned, this work can be done in lcc-win32 with ease in some
way like li.QuadPart=li.QuadPart+cont, with li as the LARGE_INTEGER nad
cont as the number to add, but in mingw32 how can I do that. I'll be very
grateful if you can help me, if not anyway Thank You for your time.

Alfredo I. Ceballos Rodriguez
al708613@academ01.ccm.itesm.mx



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]