2009-03-09 6 views
0

Ein Programm, das ich vor vier Jahren geschrieben, die das Datum und die Zeit wird wie folgt dar:Problem in der Sommerzeit wechseln

get_the_date_and_time(char *string) 
{ 
    struct tm *now; 
    time_t lt; 
    lt = time(NULL); 
    now = localtime(&lt); 
    sprintf(string,asctime(now)); 
} 

Es wird die Zeit eine Stunde zu spät, da die Umstellung auf die Sommerzeit zurück.

Indem ich mein Systemdatum auf den 5. April ändere, bekomme ich den richtigen Zeitpunkt.

Wir haben eine Projektumsetzung für das betreffende Projekt durchgeführt; Das ist nur ein Kopf hoch.

Ich vermute, Microsofts Sommerzeit-Mods für die Erweiterung der Sommerzeit-Strecke ist, wenn nicht kaputt, etwas beschädigt.

Antwort

3

Es klingt, als ob Ihr System die Änderung der Sommerzeit in den USA aufgrund des Energiepolitikgesetzes von 2005 nicht kennt (welches made DST a month longer from 2007 onwards).

Welche Windows-Version verwenden Sie und haben Sie sie mit Windows Update auf dem neuesten Stand gehalten?

EDIT: Ist diese Verknüpfung auch statisch oder dynamisch, und haben Sie seit dem Anwenden aller Patches usw. neu erstellt? Während ich würde hoffe es bekommt die Informationen aus dem Betriebssystem, ist es möglich, dass, wenn Sie statisch verknüpfen einige davon in Ihre ausführbare Datei gebacken werden könnte. (Ick.)

+0

Als er sagte "Ich verdächtige Microsofts Sommerzeit-Mods", nahm ich das so, dass er bereits die Patches angewendet hatte. –

+2

Das ist möglich - es würde wirklich helfen, wenn die Frage geklärt werden könnte. Selbst das OS zu kennen wäre ein guter Anfang ... –