pl: C time.h localtime

Beitrag lesen

Mal wieder eine Sache die ich nicht verstehe, Code:

    // Zeit vom Zeitserver
    const time_t time = htonl(v) - 2208988800;

    // struct tm *localtime(const time_t *zeitzeiger);
    // struct tm *gmtime(const time_t *zeitzeiger);
    struct tm *date, *gmt;
    date = localtime(&time);
    gmt  = gmtime(&time);  // es geht um diese Zeile

    puts("Aktuell vom Zeitserver");
    puts("======================");
    printf("Sekunden seit 1.1.1970: %u\n", time);
    printf("Datum und Uhrzeit: %02d.%02d.%04d %02d:%02d:%02d\n",
        date->tm_mday, date->tm_mon + 1, date->tm_year + 1900,
        date->tm_hour, date->tm_min, date->tm_sec
    );
    printf("Sommerzeit, DST: %s\n", date->tm_isdst == 0 ? "Nein" : "Ja" );

Es geht um die Zeile gmt = gmtime(&time); an dieser Stelle angewiesen steht in date komischerweise auch eine GMT. Weise ich gmt = gmtime(&time); nach dem printf(..) an, sehe ich auch die Localtime.

Wie ist das zu verstehen?