Robert B.: C time.h localtime

Beitrag lesen

Moin,

Mal wieder eine Sache die ich nicht verstehe, Code:

dito – meine Begründung, was ich nicht verstehe kommt unten.

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

(Natürlich kann man eine lokale Variable wie eine globale Funktion nennen, aber es verwirrt nur unnötig.)

    // 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

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?

Dass du wiederholt nicht die Dokumentation der C-Standard-Bibliothek liest. Über localtime steht dort:

Return value

pointer to a static internal tm object on success, or null pointer otherwise. The structure may be shared between gmtime, localtime, and ctime and may be overwritten on each invocation.

Viele Grüße
Robert