Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctime(3C)

getenv(3C)

setlocale(3C)

timezone(4)

environ(5)

time(5)

strftime(3C)                                                   strftime(3C)

NAME
     strftime, cftime, ascftime - Datum und Zeit in Zeichenkette umwandeln

SYNTAX
     #include <time.h>

     sizet strftime(char *s, sizet maxsize, const char *format,
            const struct tm *timeptr);

     int cftime(char *s, char *format, const timet *clock);

     int ascftime(char *s, const char *format, const struct tm *timeptr);

BESCHREIBUNG
     strftime(), ascftime(), und cftime() formatieren Datum und Zeit nach
     den Angaben aus der Zeichenkette format in das Feld, auf das s zeigt.
     Dabei besteht die Zeichenkette format aus einer oder mehreren Umwand-
     lungsanweisungen und gewöhnlichen Zeichen. Alle gewöhnlichen Zeichen,
     einschließlich des abschließenden Nullbytes, werden unverändert in die
     Zeichenkette kopiert. Bei Verwendung von strftime() werden nicht mehr
     als maxsize Zeichen in die Zeichenkette geschrieben.

     Wenn format gleich (char *)0 ist, dann wird für strftime() das vorein-
     gestellte Format "%c" und für cftime() und ascftime() das voreinge-
     stellte Format "%C" [XPG3] verwendet. cftime() und ascftime() versu-
     chen zuerst, den Wert der Umgebungsvariablen CFTIME festzustellen; ist
     diese Umgebungsvariable nicht definiert oder leer, wird das voreinge-
     stellte Format verwendet.

     Jede Umwandlungsanweisung wird durch die entsprechenden Zeichen
     ersetzt, die in der folgenden Liste beschrieben werden. Die entspre-
     chenden Zeichen werden durch die Kategorie LCTIME der lokalen Umge-
     bung, bei strftime() und ascftime() durch den Inhalt von timeptr und
     bei cftime() durch den Inhalt von clock bestimmt:

     %%  ist das Zeichen %

     %a  abgekürzter Wochentagsname der lokalen Umgebung

     %A  ausgeschriebener Wochentagsname der lokalen Umgebung

     %b  abgekürzter Monatsname der lokalen Umgebung

     %B  ausgeschriebener Monatsname der lokalen Umgebung

     %c  entsprechende Datums- und Zeitdarstellung der lokalen Umgebung

     %C  Jahrhundert (Jahr geteilt durch 100 als ganze Zahl) (00-99) [XPG4]

         Datums- und Zeitdarstellung nach date(1) [XPG3]

     %d  Monatstag (01 - 31)



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

strftime(3C)                                                   strftime(3C)

     %D  Datum als %m/%d/%y

     %e  Monatstag (1 - 31; vor einzelnen Ziffern steht ein Leerzeichen)

     %f  Datums- und Zeitdarstellung nach date(1) [XPG4]

     %h  abgekürzter Monatsname der lokalen Umgebung

     %H  Stunde (00 - 23)

     %I  Stunde (01 - 12)

     %j  Tag des Jahres (001 - 366)

     %m  Nummer des Monats (01 - 12)

     %M  Minute (00 - 59)

     %n  entspricht \n

     %p  Bezeichnung der lokalen Umgebung entweder AM oder PM

     %r  Zeit im Format %I:%M:%S [AMPM]

     %R  Zeit im Format %H:%M

     %S  Sekunden (00 - 61), erlaubt Schaltsekunden

     %t  fügt ein Tabulatorzeichen ein

     %T  Zeit im Format %H:%M:%S

     %u  Wochentag als Zahl (1 - 7), Montag = 1 [XPG4]

     %U  Nummer der Woche im Jahr (00 - 53), Sonntag ist der erste Tag der
         Woche 1

     %V  Nummer der Woche im Jahr (01 - 53), Montag ist der erste Tag der
         Woche. Wenn die Woche mit dem 1. Januar im neuen Jahr vier oder
         mehr Tage hat, hat diese Woche die Nummer 1, sonst hat sie die
         Nummer 53 des vorhergehenden Jahres und die darauffolgende Woche
         hat die Nummer 1. [XPG4]

     %w  Wochentag als Zahl (0 - 6), Sonntag = 0

     %W  Nummer der Woche im Jahr (00 - 53), Montag ist der erste Tag der
         Woche 1

     %x  die entsprechende Datumsdarstellung der lokalen Umgebung

     %X  die entsprechende Zeitdarstellung der lokalen Umgebung



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

strftime(3C)                                                   strftime(3C)

     %y  Jahr innerhalb des Jahrhunderts (00 - 99)

     %Y  Jahr in der Form ccyy (z. B. 1986)

     %Z  Zeitzonenname oder Abkürzung dieses Namens; enthält keine Zeichen,
         wenn keine Zeitzone existiert

     Der Unterschied zwischen %U und %W besteht darin, welcher Tag der
     erste in einer Woche ist. Die Woche 01 ist die erste Woche im Januar,
     die mit einem Sonntag (bei %U) oder einem Montag (bei %W) anfängt. Die
     Wochennummer 00 enthält diejenigen Tage vor dem ersten Sonntag (%U)
     oder Montag (%W) im Januar.

     Achtung:   Die Umwandlungsanweisungen %f, %V und %u werden nur im
                XPG4-Modus erkannt. %C hat unterschiedliche Bedeutung, je
                nachdem ob Sie im XPG3-Modus oder im XPG4-Modus übersetzt
                haben bzw. das Programm laufen lassen (bei dynamischer Ein-
                stellung des Modus durch die Umgebungsvariable).

     Ist die Anzahl der resultierenden Bytes einschließlich Nullbyte nicht
     größer als maxsize, liefert strftime() die Anzahl der Bytes zurück,
     die nach s kopiert wurden (ausschließlich des Nullbytes). Ansonsten
     wird 0 zurückgegeben, und der Inhalt von s ist unbestimmt. cftime()
     und ascftime() liefern die Anzahl der Bytes (ausschließlich des
     abschließenden Nullbytes) zurück, die nach s kopiert wurden.

   Modifizierte Umwandlungsanweisungen

     Einige Umwandlungsanweisungen können mit den Zeichen E und O modifi-
     ziert werden. Dadurch wird angegeben, daß ein alternatives Format bzw.
     eine andere Anweisung verwendet werden soll, als bei der unmodifizier-
     ten Anweisung (siehe Handbuch "Leitfaden für Programmierer: Interna-
     tionalisierung - Lokalisierung"). Wenn dieses Format oder diese Anwei-
     sung nicht in der aktuellen Locale vorliegt, ist das Verhalten wie bei
     der unmodifizierten Umwandlungsanweisung.

     Achtung:   Diese Umwandlungsanweisungen werden nur im XPG4-Modus
                erkannt. Im XPG3-Modus werden sie unverändert zurückgege-
                ben.

     %Ec   Alternative Darstellung der Locale für Datum und Zeit.

     %EC   Name des Basisjahrs (Zeitraum) bei der alternativen Darstellung
           der Locale.

     %Ex   Alternative Darstellung der Locale für das Datum.

     %EX   Alternative Darstellung der Locale für die Zeit.






Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

strftime(3C)                                                   strftime(3C)

     %Ey   Offset zu %EC (nur Jahr) in der alternativen Darstellung der
           Locale.

     %EY   Alternative Darstellung für das Jahr.

     %Od   Monatstag; Verwendung der alternativen numerischen Symbole der
           Locale; es wird mit führenden Nullen nach Bedarf aufgefüllt,
           wenn es ein alternatives Symbol für Null gibt, andernfalls wird
           mit führenden Leerzeichen aufgefüllt.

     %Oe   Monatstag; Verwendung der alternativen numerischen Symbole der
           Locale; bei Bedarf wird mit führenden Leerzeichen aufgefüllt.

     %OH   Stunde (Angabe als 24 Stunden); Verwendung der alternativen
           numerischen Symbole der Locale.

     %OI   Stunde (Angabe als 12 Stunden); Verwendung der alternativen
           numerischen Symbole der Locale.

     %Om   Monat; Verwendung der alternativen numerischen Symbole der
           Locale.

     %OM   Minuten; Verwendung der alternativen numerischen Symbole der
           Locale.

     %OS   Sekunden; Verwendung der alternativen numerischen Symbole der
           Locale.

     %Ou   Nummer des Wochentags in der alternativen Darstellung der Locale
           (Montag = 1).

     %OU   Nummmer der Woche (Sonntag ist der erste Tag der Woche; Regeln
           entsprechend %U); Verwendung der alternativen numerischen Sym-
           bole der Locale.

     %OV   Nummer der Woche (Montag ist der erste Tag der Woche; Regeln
           entsprechend %V); Verwendung der alternativen numerischen Sym-
           bole der Locale.

     %Ow   Nummer des Wochentags (Sonntag = 0); Verwendung der alternativen
           numerischen Symbole der Locale.

     %OW   Nummer der Woche (Montag ist der erste Tag der Woche); Verwen-
           dung der alternativen numerischen Symbole der Locale.

     %Oy   Jahr (Offset zu %C) in der alternativen Darstellung der Locale
           und mit den alternativen Symbolen der Locale.







Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

strftime(3C)                                                   strftime(3C)

   Auswahl der Ausgabesprache

     Die voreingestellte Sprache für die Ausgaben von strftime(), cftime()
     und ascftime() ist amerikanisches Englisch. Der Benutzer kann die Aus-
     gabesprache von strftime(), cftime() oder ascftime() durch Einstellung
     der Kategorie LCTIME mit setlocale() für die lokale Umgebung auswäh-
     len.

   Zeitzone

     Die Zeitzone wird aus der Umgebungsvariablen TZ übernommen [siehe
     ctime(3C)].

BEISPIELE
     Das folgende Beispiel demonstriert die Benutzung von strftime(). Nach
     der Ausführung des folgenden Funktionsaufrufs mit dem Datum Donner-
     stag, 28. August, 1986 um 12:44:36 in Baden-Württemberg in tmptr:

          strftime (str, strsize, "%A %b %d %j", tmptr)

     erhält man in str das Resultat "Donnerstag Aug 28 240".

HINWEISE
     cftime() und ascftime() sind veraltet. Statt dessen sollte strftime()
     verwendet werden.

     Achten Sie darauf, daß einige Umwandlungsanweisungen nur im XPG4-Modus
     erkannt werden. Im XPG3-Modus werden die betreffenden Umwandlungsan-
     weisungen unverändert zurückgegeben.

DATEIEN
     /usr/lib/locale/locale/LCTIME
          standortabhängige Datums- und Zeitinformationen

SIEHE AUCH
     ctime(3C), getenv(3C), setlocale(3C), LCTIME(4), timezone(4),
     environ(5), time(5).

















Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026