time.h - ich bin verwirrt.
-
Sers allerseits!
In einem etwas größeren Projekt ist mir folgender, merkwürdiger Umstand aufgefallen:
zwei vollkommen unterschiedliche werte in einer time_t variable erzeugen per localtime() exakt gleiche struct tm variablen!
(um genau zu sein, der Unterschied zwischen den beiden time_t Variablen ist 3600 -> 1h)
hier der Code, sollte überall compilierbar sein:
#include <time.h> #include <stdio.h> int main(void) { struct tm* T1; struct tm* T2; time_t a = 1337295600; time_t b = 1337292000; T1 = localtime(&a); T2 = localtime(&b); printf("%d,%d,%d\n",T1->tm_year,T1->tm_mon,T1->tm_mday); printf("%d,%d,%d\n",T1->tm_isdst,T1->tm_wday,T1->tm_yday); printf("%d,%d,%d\n\n",T1->tm_hour,T1->tm_min,T1->tm_sec); printf("%d,%d,%d\n",T2->tm_year,T2->tm_mon,T2->tm_mday); printf("%d,%d,%d\n",T2->tm_isdst,T2->tm_wday,T2->tm_yday); printf("%d,%d,%d\n\n",T2->tm_hour,T2->tm_min,T2->tm_sec); printf("%lf\n\n",difftime(a,b)); return 0; }
Der Code ist nur eine kleine Rekonstruktion der eigentlichen "Entdeckung".
(Erzeugt wurden die beiden werte übrigens mit der exakten gleichen Funktion)Weiß einer woran das liegen könnte?
-