000
21.09.2006, 16:11 Uhr
~Tafa
Gast
|
allo zusammen.. ich hoffe man kann mir helfen .. ich möchte eigen lich ein UINT64 datentyp wieder ins SYSTEMTIME strucktur casten als ergbniss kriege ich immer z.B. jahr=1600 bin mal so vorgegangen:
| C++: |
UINT64 one_day = 86400L; UINT64 A; ULARGE_INTEGER C; SYSTEMTIME STime; GetLocalTime( &STime );
FILETIME ft; SystemTimeToFileTime( &STime,&ft );
C = *( ULARGE_INTEGER *)&A; // UINT in LAGERINTERGER CASTEN C.QuadPart -= one_day; // LARGER_INTERGER eintag weniger ft = * ( FILETIME *)&C; // nach FILETIME casten
/* habs auch mal auch so probiert funkt auch nict ( ( LARGE_INTEGER * ) &ft )->LowPart = C.LowPart ; ( ( LARGE_INTEGER * ) &ft )->HighPart = C.HighPart; ( ( LARGE_INTEGER * ) &ft )->QuadPart = C.QuadPart; */
FileTimeToSystemTime(&ft,&STime);
CString str; str.Format("%02i.%02i.%04i %02i:%02i:%02i.%02i",STime.wDay,STime.wMonth,STime.wYear,STime.wHour,STime.wMinute,STime.wSecond,STime.wMilliseconds); return str; //
|
|