blob: c167afb928692759b00403bb406ce10e5b758ec7 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
2 string strftime()
3 string strftime(string fmt)
4 string strftime(int clock)
5 string strftime(string fmt, int clock)
6 string strftime(string fmt, int clock, int localized)
7
8BESCHREIBUNG
9 Gibt, aehnliche wie ctime(), eine Zeit als formatierten String zurueck.
10 Hierbei kann ein String mit div. Platzhaltern vom Benutzer angegeben
11 werden (s.u.). Wird kein String angegeben, wird "%c" als Formatstring
12 benutzt.
13
14 Das Argument <clock> wird als Anzahl Sekunden seit dem 01.01.1970, 00:00
15 Uhr interpretiert. Wenn <clock> nicht angegeben wird, wird time()
16 verwendet.
17
18 Das Argument <localized> gibt an, ob die Ausgabe englisch (das sog.
19 klassische "C" locale) oder in der jeweiligen Landessprache (z.B.
20 deutsch) erfolgen soll. Hierbei haengt die Sprache allerdings von den auf
21 dem Mudrechner gesetzten Umgebungsvariablen LC_TIME oder LC_ALL ab, sie
22 kann nicht selber gewaehlt werden. Wird kein <localized> angegeben, wird
23 1 verwendet, was einer Ausgabe in Landessprache entspricht.
24 0: Ausgabe im klassischen "C" locale (english)
25 1: Ausgabe in Landessprache des Mudrechners.
26
27BEMERKUNGEN:
28 Der zurueckgebene Ergebnisstring ist max. 511 Zeichen lang.
29
30PLATZHALTER:
31 Diese Funktion versteht alle Platzhalter, die die Funktion strftime() aus
32 der C-Standardbibliothek versteht. Momentan sind dies:
33 %a Der abgekuerzte Wochentag abhaengig von der momentanen Locale.
34 %A Der gesamte Wochentag abhaengig von der momentanen Locale.
35 %b Der abgekuerzte Monatsname abhaengig von der momentanen Locale.
36 %B Der volle Monatsname abhaengig von der momentanen Locale.
37 %c Das bevorzugte Datums- und Uhrzeit-Repraesentation laut Einstel-
38 lungen der momentanen Locale.
39 %C Das Jahrhundert als zweistellige Zahl.
40 %d Der Tag im Monat als Dezimalzahl (01 - 31).
41 %D Aequivalent zu %m/%d/%y. (US-amerikanisches Format. In anderen
42 Laendern ist %d/%m/%y durchaus ueblich . In internationalem Kon-
43 text ist dieses Format daher mehrdeutig und sollte nicht verwen-
44 det werden.)
45 %e Wie %d, der Tag im Monat als Dezimalzahl, aber eine fuehrende
46 Null ist durch ein Leerzeichen ersetzt.
47 %E Modifikator: Alternatives Format benutzen, s.u.
48 %g Wie %G, aber ohne das Jahrhundert, also mit zweistelligem Jahr
49 (00-99).
50 %G Das Jahr laut ISO 8601 mit dem Jahrhundert als Dezimalzahl. Das
51 vierstellige Jahr, das zu ISO-Wochennummer (siehe %V) passt. Es
52 hat dasselbe Format und denselben Wert wie %y, nur dass, wenn
53 die ISO-Wochennummer zum vorhergehenden oder naechsten Jahr
54 gehoert, dieses Jahr stattdessen benutzt wird.
55 %h Aequivalent zu %b.
56 %H Die Stunde im 24h-Format als Ganzzahl (00 - 23).
57 %I Die Stunde im 12h-Format als Ganzzahl (01 - 12).
58 %j Der Tag im Jahr als Ganzzahl (001 - 366).
59 %k Die Stunde im 24h-Format als Ganzzahl (0 - 23); einzelne Ziffern
60 haben ein vorangestelltes Leerzeichen. (Siehe %H.)
61 %l Die Stunde im 12h-Format als Ganzzahl (0 - 12); einzelne Ziffern
62 haben ein vorangestelltes Leerzeichen. (Siehe %I.)
63 %m Der Monat als Ganzzahl (01 - 12).
64 %M Die Minute als Ganzzahl (00 - 59).
65 %n Ein Zeilenvorschub.
66 %p Entweder 'AM' oder 'PM', je nach der uebergebenen Uhrzeit, oder
67 die zugehoerigen Zeichenketten in der momentanen Locale. Mittag
68 erhaelt 'PM', Mitternacht 'AM'.
69 %P Wie %p, aber in Kleinbuchstaben.
70 %r Zeit in AM/PM-Notation; in der POSIX-Locale ist das Aequivalent
71 zu '%I:%M:%S %p'.
72 %R Zeit in 24h-Notation (%H:%M). (SU) Fuer eine Version mit Sekunden
73 siehe %T.
74 %s Die Zahl der Sekunden seit der Epoche, also seit 1970-01-01
75 00:00:00 UTC.
76 %S Die Sekunde als Ganzzahl (00 - 61).
77 %t Ein Tabulatorzeichen.
78 %T Zeit in 24h-Notation (%H:%M:%S).
79 %u Der Tag der Woche als Zahl von 1 bis 7, mit Montag als 1. Siehe
80 auch %w.
81 %U Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis
82 53, beginnend mit dem ersten Sonntag als erster Tag der ersten
83 Woche. Siehe auch %V und %W.
84 %V Die Wochennummer nach ISO 8601:1988 als Dezimalzahl von 01 bis
85 53, wobei Woche 1 die erste Woche ist, die wenigstens 4 Tage im
86 laufenden Jahr hat, mit Montag als dem ersten Tag der Woche.
87 Siehe auch %U und %W.
88 %w Der Tag der Woche als Zahl von 0 bis 6, mit Sonntag als 0.
89 Siehe auch %u.
90 %W Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis
91 53, beginnend mit dem ersten Montag als erster Tag der ersten
92 Woche.
93 %x Die bevorzugte Datums-Repraesentation ohne die Zeit in der momen-
94 tanen Locale.
95 %X Die bevorzugte Uhrzeit-Repraesentation ohne das Datum in der
96 momentanen Locale.
97 %y Das Jahr als Ganzzahl ohne das Jahrhundert (00 - 99).
98 %Y Das Jahr als Ganzzahl mit dem Jahrhundert.
99 %z Die Zeitzone als Stundendifferenz zu GMT. Benoetigt, um
100 RFC822-konforme Datumsangaben zu erhalten (mit '%a, %d %b %Y
101 %H:%M:%S %z').
102 %Z Die Zeitzone oder der Name oder die Abkuerzung.
103 %+ Datum und Zeit im Format von date(1).
104 %% Das Zeichen '%'.
105
106BEISPIEL
107 write(strftime("Heute ist %A, der %d. %B %Y.\n"))
108 ergibt z.B.
109 "Heute ist Montag, der 24. September 2007.\n"
110
111SIEHE AUCH
112 ctime(E), gmtime(E), localtime(E), mktime(E), time(E), utime(E)