diff --git a/doc/efun/localtime b/doc/efun/localtime
new file mode 100644
index 0000000..a522dc4
--- /dev/null
+++ b/doc/efun/localtime
@@ -0,0 +1,39 @@
+SYNOPSIS
+        #include <sys/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
+
+BEISPIEL
+        printf("Today is %s\n", ({ "Sonntag", "Montag", "Dienstag",
+            "Mittwoch", "Donnerstag", "Freitag", "Samstag"})
+            [localtime()[TM_WDAY]]);
+
+AENDERUNGEN
+        Eingefuehrt in LDMud 3.2.9
+
+SIEHE AUCH
+    ctime(E), gmtime(E), time(E), utime(E)
