Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ strptime(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

time(2)

strftime(3C)

scanf(3S)

time(5)

strptime(3C)                                                   strptime(3C)

NAME
     strptime - Datum und Zeit umwandeln

SYNTAX
     #include <time.h>

     char *strptime(const char *buf, const char *format, struct tm *tm);

BESCHREIBUNG
     Die Funktion strptime() wandelt die Zeichenkette, auf die buf zeigt,
     in Werte um, die in der durch den Zeiger tm angegebenen Struktur tm
     abgelegt werden. Es wird das Format verwendet, das im Argument format
     angegeben ist.

     format besteht aus keinen oder mehreren Anweisungen. Jede Anweisung
     besteht aus einem der folgenden Elemente: einem oder mehr Zwischen-
     raumzeichen (wie in der Funktion isspace() angegeben), einem normalen
     Zeichen (weder % noch ein Zwischenraumzeichen) oder einer Umwandlungs-
     anweisung. Jede Umwandlungsanweisung besteht aus dem Zeichen %,
     gefolgt von einem Umwandlungszeichen, das die gewünschte Umwandlung
     angibt. Umwandlungsanweisungen müssen durch Zwischenraumzeichen oder
     andere nicht-alphanumerische Zeichen getrennt sein. Es werden die fol-
     genden Umwandlungsanweisungen unterstützt:

     %a   Wochentag; es werden die Namen der Locale für die Wochentage ver-
          wendet. Es wird der abgekürzte oder der ausgeschriebene Name
          angegeben.

     %A   Wie %a.

     %b   Monat; es werden die Namen der Locale für die Monate verwendet.
          Es wird der abgekürzte oder der ausgeschriebene Name angegeben.

     %B   Wie %b.

     %c   Datum und Zeit; es wird das Format der Locale für Datum und Zeit
          verwendet (zum Beispiel %x%X).

     %C   Jahrhundert [0,99]; führende Nullen sind erlaubt, aber nicht not-
          wendig.

     %d   Monatstag [1,31]; führende Nullen sind erlaubt, aber nicht not-
          wendig.

     %D   Datum im Format %m/%d/%y.

     %e   Wie %d.

     %h   Wie %b.

     %H   Stunde (als 24 Stunden) [0,23]; führende Nullen sind erlaubt,
          aber nicht notwendig.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

strptime(3C)                                                   strptime(3C)

     %I   Stunde (als 12 Stunden) [1,12]; führende Nullen sind erlaubt,
          aber nicht notwendig.

     %j   Tag des Jahres [1,366]; führende Nullen sind erlaubt, aber nicht
          notwendig.

     %m   Nummer des Monats [1,12]; führende Nullen sind erlaubt, aber
          nicht notwendig.

     %M   Minute [0,59]; führende Nullen sind erlaubt, aber nicht notwen-
          dig.

     %n   Zwischenraumzeichen.

     %p   Entsprechung der Locale für a.m. oder p.m.

     %r   Zeit im Format %I:%M:%S:%p.

     %R   Zeit im Format %H:%M.

     %S   Sekunde [0,61]; führende Nullen sind erlaubt, aber nicht notwen-
          dig.

     %t   Zwischenraumzeichen.

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

     %U   Nummer der Woche (Sonntag ist der erste Tag der Woche) als dezi-
          male Zahl [00,53]; führende Nullen sind erlaubt, aber nicht not-
          wendig.

     %w   Wochentag als dezimale Zahl [0,6], dabei steht 0 für Sonntag;
          führende Nullen sind erlaubt, aber nicht notwendig.

     %W   Nummer der Woche (Montag ist der erste Tag der Woche) als dezi-
          male Zahl [00,53]; führende Nullen sind erlaubt, aber nicht not-
          wendig.

     %x   Datum im Datumsformat der Locale.

     %X   Zeit im Zeitformat der Locale.

     %y   Jahr innerhalb des Jahrhunderts [0,99]; führende Nullen sind
          erlaubt, aber nicht notwendig.

     %Y   Jahr mit Angabe des Jahrhunderts (zum Beispiel 1988).

     %%   Ist das Zeichen %.






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

strptime(3C)                                                   strptime(3C)

   Modifizierte Anweisungen

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

     %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.

     %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; führende Nullen sind erlaubt, aber nicht notwendig.

     %Oe  Wie %Od.

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

     %OI  Stunde (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 der Woche (Sonntag ist der erste Tag der Woche); Verwen-
          dung der alternativen numerischen Symbole 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); Verwendung
          der alternativen numerischen Symbole der Locale.


Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

strptime(3C)                                                   strptime(3C)

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

     Eine Anweisung aus Zwischenraumzeichen wird ausgeführt, indem die Ein-
     gabe bis zum ersten Zeichen gelesen wird, das kein Zwischenraumzeichen
     ist (= das nächste zu bearbeitende Zeichen). Alternativ wird die
     Anweisung ausgeführt, bis keine weiteren Zeichen gelesen werden kön-
     nen.

     Eine aus einem normalen Zeichen bestehende Anweisung wird ausgeführt,
     indem das nächste Zeichen im Puffer gelesen wird. Wenn sich das im
     Puffer gelesene Zeichen von dem Zeichen unterscheidet, das die Anwei-
     sung darstellt, so schlägt die Anweisung fehl. Das Zeichen, das nicht
     der Anweisung entspricht, und die folgenden Zeichen bleiben unbearbei-
     tet.

     Mehrere Anweisungen, die aus den Angaben %n, %t, Zwischenraumzeichen
     oder einer beliebigen Kombination bestehen, werden folgendermaßen aus-
     geführt: es wird bis zum ersten Zeichen gelesen, das kein Zwischen-
     raumzeichen ist (= das nächste zu bearbeitende Zeichen), oder bis
     keine Zeichen mehr gelesen werden können.

     Bei allen anderen Umwandlungsanweisungen werden solange Zeichen gele-
     sen, bis ein der nächsten Anweisung entsprechendes Zeichen gefunden
     wird oder keine Zeichen mehr gelesen werden können. Diese Zeichen
     (außer dem Zeichen, das der nächsten Anweisung entspricht) werden dann
     mit den der Umwandlungsanweisung zugeordneten Werten der Locale ver-
     glichen. Wird eine Entsprechung gefunden, werden die Werte für die
     entsprechenden Komponenten der Struktur tm auf Werte gesetzt, die den
     Locale-Informationen entsprechen. Die Case-Anweisung wird beim Ver-
     gleich von Elementen in buf (zum Beispiel Namen für Monate oder
     Wochentage) ignoriert. Wird keine Entsprechung gefunden, schlägt
     strptime() fehl. Es können keine weiteren Zeichen gelesen werden.

     Zur einfacheren Verwendung von identischen format-Zeichenketten für
     die Funktionen strftime() und strptime() werden mehrere alternative
     Formate und die besondere Behandlung der Zwischenraumzeichen zur Ver-
     fügung gestellt.

FEHLER
     Die Funktion strptime() schlägt fehl, wenn:

     ENOSYS    Die Funktionalität wird in dieser Implementation nicht
               unterstützt.

ERGEBNIS
     Bei erfolgreicher Beendigung gibt strptime() einen Zeiger auf das Zei-
     chen nach dem letzten analysierten Zeichen zurück. Andernfalls wird
     ein Nullzeiger zurückgegeben.

SIEHE AUCH
     time(2), strftime(3C), scanf(3S), LCTIME(4), time(5).


Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

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