Hallo. Ich habe folgendes Problem. Ein Datenserver erhält Telegramme, die in Datenbanken geladen werden sollen. Hierzu sind auch Zeitstempel erforderlich. Das normale DateTime Format yyyy-mm-tt HH:MM:SS ist kein Problem. Ich benötige aber auch eine andere Notation yyyymmttHHMMSS.millisec offset. Aus der aktuellen Zeit das Format zu erstellen ist kein Problem: (kleiner Umweg, weil ftime() bei mir die Flags nicht setzt und localtime keine milliSec liefert => man kombiniert
struct ts * wird als Übergbewert der Funktion geliefert
struct tm *timeGR;
struct tm *timeDB;
timeb gmt;
time_t now;
now = time(0);
timeDB = localtime(&now);
if( timeDB->tm_isdst ) // offset 120 Sommerzeit, 60 Winterzeit
ts->offset = SOMMER;
else
ts->offset = WINTER;
ftime(&gmt);
timeGR = gmtime( &gmt.time );
Wie kann ich aus einem aktuellen Zeitstempel
in Form yyyy-mm-tt HH:MM:SS nach
yyyymmttHHMMSS.millisec offset wechseln bzw. neu berechnen? Also keine 100 if-else Abfragen weil ich einfach 2 Stunden subtrahiere und dann anfange Tage- Monats- Jahres- Schaltjahresgenze abzufragen oder so. Die millisec sind wohl verloren, woher sollen sie auch noch zur Verfügung stehen. Rückrechnen auf Sekunden seit 1970 evtl, aber wie?
Hat wer eine Idee? Danke
Gruß
Roland