SYNOPSIS
        #include <time.h>

        int * localtime(int clock)
        int * localtime(int *uclock)

BESCHREIBUNG
        Interpretiert das Argument <clock> als Anzahl Sekunden seit dem
        01. Januar 1970, 00:00:00, und gibt die Zeit in Lokalzeit in einer
        sauberen Struktur zurueck. Wird <clock> nicht angegeben, wird
        standardmaessig time() verwendet.

        Alternativ kann auch ein Array von zwei Zahlen als Argument angegeben
        werden. Das erste Element wird interpretiert wie <clock>, das zweite
        Argument enthaelt die vergangenen Mikrosekunden in dieser Sekunde und
        wird ignoriert.

        Das Resultat ist ein Array mit folgenden Elementen:

            int TM_SEC    (0):  Sekunde in der Minute (0..59)
            int TM_MIN    (1):  Minute in der Stunde (0..59)
            int TM_HOUR   (2):  Stunde des Tages (0..23)
            int TM_MDAY   (3):  Tag im Monat (1..31)
            int TM_MON    (4):  Monat des Jahres (0..11)
            int TM_YEAR   (5):  Jahr (z.B. 2001)
            int TM_WDAY   (6):  Wochentag (0..6, Sonntag = 0)
            int TM_YDAY   (7):  Tag im Jahr (0..365)
            inz TM_ISDST  (8):  TRUE: Daylight Saving Time

BEISPIELE
        printf("Heute ist %s\n", ({ "Sonntag", "Montag", "Dienstag",
            "Mittwoch", "Donnerstag", "Freitag", "Samstag"})
            [localtime()[TM_WDAY]]);

GESCHICHTE
        Eingefuehrt in LDMud 3.2.9.

SIEHE AUCH
        ctime(E), gmtime(E), time(E), utime(E)
