SYNOPSIS
string strftime()
string strftime(string fmt)
string strftime(int clock)
string strftime(string fmt, int clock)
string strftime(string fmt, int clock, int localized)
BESCHREIBUNG
Gibt, aehnliche wie ctime(), eine Zeit als formatierten String zurueck.
Hierbei kann ein String mit div. Platzhaltern vom Benutzer angegeben
werden (s.u.). Wird kein String angegeben, wird "%c" als Formatstring
benutzt.
Das Argument <clock> wird als Anzahl Sekunden seit dem 01.01.1970, 00:00
Uhr interpretiert. Wenn <clock> nicht angegeben wird, wird time()
verwendet.
Das Argument <localized> gibt an, ob die Ausgabe englisch (das sog.
klassische "C" locale) oder in der jeweiligen Landessprache (z.B.
deutsch) erfolgen soll. Hierbei haengt die Sprache allerdings von den auf
dem Mudrechner gesetzten Umgebungsvariablen LC_TIME oder LC_ALL ab, sie
kann nicht selber gewaehlt werden. Wird kein <localized> angegeben, wird
1 verwendet, was einer Ausgabe in Landessprache entspricht.
0: Ausgabe im klassischen "C" locale (english)
1: Ausgabe in Landessprache des Mudrechners.
ANMERKUNGEN
Der zurueckgebene Ergebnisstring ist max. 511 Zeichen lang.
PLATZHALTER
Diese Funktion versteht alle Platzhalter, die die Funktion strftime() aus
der C-Standardbibliothek versteht. Momentan sind dies:
%a Der abgekuerzte Wochentag abhaengig von der momentanen Locale.
%A Der gesamte Wochentag abhaengig von der momentanen Locale.
%b Der abgekuerzte Monatsname abhaengig von der momentanen Locale.
%B Der volle Monatsname abhaengig von der momentanen Locale.
%c Das bevorzugte Datums- und Uhrzeit-Repraesentation laut Einstel-
lungen der momentanen Locale.
%C Das Jahrhundert als zweistellige Zahl.
%d Der Tag im Monat als Dezimalzahl (01 - 31).
%D Aequivalent zu %m/%d/%y. (US-amerikanisches Format. In anderen
Laendern ist %d/%m/%y durchaus ueblich . In internationalem Kon-
text ist dieses Format daher mehrdeutig und sollte nicht verwen-
det werden.)
%e Wie %d, der Tag im Monat als Dezimalzahl, aber eine fuehrende
Null ist durch ein Leerzeichen ersetzt.
%E Modifikator: Alternatives Format benutzen, s.u.
%g Wie %G, aber ohne das Jahrhundert, also mit zweistelligem Jahr
(00-99).
%G Das Jahr laut ISO 8601 mit dem Jahrhundert als Dezimalzahl. Das
vierstellige Jahr, das zu ISO-Wochennummer (siehe %V) passt. Es
hat dasselbe Format und denselben Wert wie %y, nur dass, wenn
die ISO-Wochennummer zum vorhergehenden oder naechsten Jahr
gehoert, dieses Jahr stattdessen benutzt wird.
%h Aequivalent zu %b.
%H Die Stunde im 24h-Format als Ganzzahl (00 - 23).
%I Die Stunde im 12h-Format als Ganzzahl (01 - 12).
%j Der Tag im Jahr als Ganzzahl (001 - 366).
%k Die Stunde im 24h-Format als Ganzzahl (0 - 23); einzelne Ziffern
haben ein vorangestelltes Leerzeichen. (Siehe %H.)
%l Die Stunde im 12h-Format als Ganzzahl (0 - 12); einzelne Ziffern
haben ein vorangestelltes Leerzeichen. (Siehe %I.)
%m Der Monat als Ganzzahl (01 - 12).
%M Die Minute als Ganzzahl (00 - 59).
%n Ein Zeilenvorschub.
%p Entweder 'AM' oder 'PM', je nach der uebergebenen Uhrzeit, oder
die zugehoerigen Zeichenketten in der momentanen Locale. Mittag
erhaelt 'PM', Mitternacht 'AM'.
%P Wie %p, aber in Kleinbuchstaben.
%r Zeit in AM/PM-Notation; in der POSIX-Locale ist das Aequivalent
zu '%I:%M:%S %p'.
%R Zeit in 24h-Notation (%H:%M). (SU) Fuer eine Version mit Sekunden
siehe %T.
%s Die Zahl der Sekunden seit der Epoche, also seit 1970-01-01
00:00:00 UTC.
%S Die Sekunde als Ganzzahl (00 - 61).
%t Ein Tabulatorzeichen.
%T Zeit in 24h-Notation (%H:%M:%S).
%u Der Tag der Woche als Zahl von 1 bis 7, mit Montag als 1. Siehe
auch %w.
%U Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis
53, beginnend mit dem ersten Sonntag als erster Tag der ersten
Woche. Siehe auch %V und %W.
%V Die Wochennummer nach ISO 8601:1988 als Dezimalzahl von 01 bis
53, wobei Woche 1 die erste Woche ist, die wenigstens 4 Tage im
laufenden Jahr hat, mit Montag als dem ersten Tag der Woche.
Siehe auch %U und %W.
%w Der Tag der Woche als Zahl von 0 bis 6, mit Sonntag als 0.
Siehe auch %u.
%W Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis
53, beginnend mit dem ersten Montag als erster Tag der ersten
Woche.
%x Die bevorzugte Datums-Repraesentation ohne die Zeit in der momen-
tanen Locale.
%X Die bevorzugte Uhrzeit-Repraesentation ohne das Datum in der
momentanen Locale.
%y Das Jahr als Ganzzahl ohne das Jahrhundert (00 - 99).
%Y Das Jahr als Ganzzahl mit dem Jahrhundert.
%z Die Zeitzone als Stundendifferenz zu GMT. Benoetigt, um
RFC822-konforme Datumsangaben zu erhalten (mit '%a, %d %b %Y
%H:%M:%S %z').
%Z Die Zeitzone oder der Name oder die Abkuerzung.
%+ Datum und Zeit im Format von date(1).
%% Das Zeichen '%'.
FEHLER
Es gibt keinen Platzhalter fuer die Mondphase.
BEISPIELE
write(strftime("Heute ist %A, der %d. %B %Y.\n"))
ergibt z.B.
"Heute ist Montag, der 24. September 2007.\n"
GESCHICHTE
Eingefuehrt in LDMud 3.3.718.
SIEHE AUCH
ctime(E), gmtime(E), localtime(E), mktime(E), time(E), utime(E)
|