strftime, wcsftime, _strftime_l, _wcsftime_l
Formatieren Sie eine Uhrzeit.
size_t strftime(
char *strDest,
size_t maxsize,
const char *format,
const struct tm *timeptr
);
size_t _strftime_l(
char *strDest,
size_t maxsize,
const char *format,
const struct tm *timeptr,
_locale_t locale
);
size_t wcsftime(
wchar_t *strDest,
size_t maxsize,
const wchar_t *format,
const struct tm *timeptr
);
size_t _wcsftime_l(
wchar_t *strDest,
size_t maxsize,
const wchar_t *format,
const struct tm *timeptr,
_locale_t locale
);
Parameter
strDest
Geben Sie Zeichenfolge aus.maxsize
strDest Größe des Puffers in Zeichen (char oder wchart_t).format
Formatsteuerzeichenfolge.timeptr
tm Datenstruktur.locale
Das zu verwendende Gebietsschema.
Rückgabewert
strftime gibt die Anzahl von Zeichen zurück, die in strDest eingefügt werden wcsftime und gibt die entsprechende Anzahl der Breitzeichen zurück.
Wenn die Gesamtzahl von Zeichen (einschließlich das abschließende NULL-Zeichen, mehrere ist, geben maxsize, strftime und wcsftime 0 zurückgegeben und der Inhalt von strDest ist unbestimmt.
Die Anzahl der Zeichen in strDest ist gleich der Anzahl von Literalzeichen in format sowie alle Zeichen, die zu format über Formatierungscodes hinzugefügt werden.Das abschließende NULL-Zeichen einer Zeichenfolge wird im Rückgabewert nicht gezählt.
Hinweise
Die strftime und Funktionen wcsftime formatieren den tm Zeitwert in timeptr entsprechend dem angegebenen format Argument und das Ergebnis im Puffer gespeichert strDest*.* Höchstens werden maxsize Zeichen in der Zeichenfolge eingefügt.Eine Beschreibung der Felder in der timeptr Struktur finden Sie unter asctime.wcsftime ist die Breitzeiche Entsprechung von strftime. STRING Zeiger als Argument zeigt auf eine Zeichenfolge mit Breitzeichen.Diese Funktionen verhalten sich ansonsten unterscheiden.
Hinweis |
---|
In Versionen vor Visual C++ 2005 format den Parameter beschriebene die Dokumentation von wcsftime , als seien ihre den Datentyp const wchar_t *, aber die tatsächliche Implementierung des Datentyps formatconst char *war.Die Implementierung des Datentyps formatwird aktualisiert, um die frühere und aktuelle Dokumentation d. h. const wchar_t *widerzuspiegeln. |
Diese Funktion überprüft seine Parameter.Wenn strDest, formatodertimeptr ein NULL-Zeiger ist oder wenn die tm Datenstruktur, die von timeptr adressiert ist, ungültig ist (z. B. wenn es aus Bereichswerten für das Datum oder die Uhrzeit) enthält, oder wenn die ausgecheckt format Zeichenfolge einen ungültigen Formatierungscode ungültige Parameter enthält, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung ermöglicht wird, um fortzufahren, gibt die Funktion 0 zurück und legt ihn fest. EINVALzu errno
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tcsftime |
strftime |
strftime |
wcsftime |
Das format Argument besteht aus einem oder mehreren Codes. siehe, werden die printfFormatierungscodes aus einem Prozentzeichen (%) vorangestellt.Zeichen, die nicht mit % beginnen, werden unverändert an strDestkopiert*.* Die LC_TIME Kategorie des aktuellen Gebietsschemas wirkt sich auf die Formatierung der Ausgabe strftime.(Weitere Informationen zu LC_TIMEfinden Sie unter setlocale). Die Funktionen ohne das Suffix verwenden _l das derzeit festgelegte Gebietsschema.Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, mit der Ausnahme, dass sie das Gebietsschema als Parameter annehmen und verwenden die anstelle des aktuell festgelegten Gebietsschemas.Weitere Informationen finden Sie unter Gebietsschema.
Die Formatierungscodes für strftime sind im Folgenden aufgeführt:
%a
Abgekürzter Name des Wochentags%A
Vollständiger Name des Wochentags%b
Abgekürzter Monatsname%B
Vollständiger Monatsname%c
Datum und Uhrzeit für Gebietsschema gemäß Darstellung%d
Tag des Monats als Dezimalzahl (01 – 31)%H
Stunde im Format stündigen 24 (00 – 23)%I
Stunde in einer 12 - Stunden-Format (01 – 12)%j
Tag des Jahres als Dezimalzahl (001 – 366)%m
Monat als Dezimalzahl (01 – 12)%M
Minuten als Dezimalzahl (00 – 59)%p
Aktuelles Uhr/das P.M. des Gebietsschemas.Indikator für 12-Stunden-Format%S
Zweite als Dezimalzahl (00 – 59)%U
Woche des Jahres als Dezimalzahl mit Sonntag als ersten Tag der Woche (00 – 53)%w
Arbeitstag als Dezimalzahl (0 – 6; Sonntag ist 0)%W
Woche des Jahres als Dezimalzahl mit Montag als ersten Tag der Woche (00 – 53)%x
Für aktuellen Gebietsschema Darstellung eines Datums%X
Zeit für die Darstellung des aktuellen Gebietsschema%y
Jahr als Dezimalzahl ohne Jahrhundert (00 – 99)%Y
Jahr mit Jahrhundert, als decimal%z, %Z
Jedes der Name oder die Zeitzonen abkürzung Zeitzonen, abhängig von Registrierungseinstellungen. Keine Zeichen, wenn die Zeitzone nicht bekannt ist%%
Prozentzeichen
Wie in der printf Funktion kann das # Flag Präfix jeder Formatierungscode.In diesem Fall wird die Bedeutung des Codes Format wie folgt geändert.
Formatcode |
Bedeutung |
---|---|
%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#% |
# Flag wird ignoriert. |
%#c |
Lange Darstellung für Datum und Uhrzeit für aktuelle Gebietsschema verwenden.Beispiel: „Am Dienstag, den 14. März 1995, 12:41: 29". |
%#x |
Lange Darstellung eines Datums verwendet werden, mit dem das aktuelle Gebietsschema.Beispiel: „Am Dienstag, den 14. März 1995“. |
%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y |
Entfernt führende Nullen (sofern vorhanden). |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
strftime |
<time.h> |
wcsftime |
<time.h> oder <wchar.h> |
_strftime_l |
<time.h> |
_wcsftime_l |
<time.h> oder <wchar.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Weitere Informationen finden Sie im Beispiel für Zeit.