Probleme mit mktime

  • Themenstarter Themenstarter ConstRef
  • Beginndatum Beginndatum
C

ConstRef

Hab eine Funktion, die mir die Sekunden seit 1970 liefert:

Code:
#include "time.h"

time_t time_as_sec;
struct tm timestrct;

timestrct.tm_year = 106; // Jahr - 1900
timestrct.tm_mon = 2; // Monat - 1;
timestrct.tm_mday = 28;
timestrct.tm_hour = 16;
timestrct.tm_min = 38;
timestrct.tm_sec = 0;

timestrct.tm_isdst = 0;

time_as_sec = mktime(&timestrct); // Hier kommt eine falsche Zahl

Wenn ich time_as_sec wieder zurückrechne, habe ich leider einen Offset von einer Stunde drin. Lokal (Windows XP) ist die Zeitzone und die Uhrzeit richtig gesetzt. Wo liegt das Problem?

PS: Ich hab mich nicht verrechnet...
 
Hi.

Die mktime Funktion interpretiert das Argument entsprechend der eingestellten Zeitzone. Nimm timegm wenn du mit der UTC Zeit rechnen willst.

Gruß
 
Zurück