time() localtime() gmtime() ?

Thomasio

Erfahrenes Mitglied
Wie kann ich zwischen 2 PC´s die in verschiedenen Zeitzonen stehen die angezeigte Uhrzeit so synchronisieren, dass beide deutsche Zeit, inkl Sommer-/Winterzeit anzeigen, selbst wenn beide nicht in D stehen?

Den timestamp synchonisieren geht ja noch einfach, mit gmtime() bekomme ich GMT, aber in GMT gibt es keine Sommerzeit, sprich deutsche Zeit ist im Sommer GMT+1 und im Winter GMT+2.

Die Frage ist also: wie rechne ich localtime oder gmtime um? Gibt es da eine fertige Funktion oder library?

Was ich bisher mache ist, ein PC sendet dem Anderen seinen timestamp und der Andere zieht einfach den Wert von seinem eigenen timestamp ab, so erhalte ich die variable timedifference und dann rechne ich das Ganze um, wobei ich aber nur GMT kann, der Schritt zu deutscher Zeit fehlt mir.

Code:
time_t rawtime;
struct tm * timeinfo;
time(&rawtime);
rawtime = rawtime + timedifference;
timeinfo = gmtime(&rawtime);
char myTime[80];
strftime(myTime,80,"%H:%M:%S",timeinfo);
 
Zurück