C-Bibliotheksfunktion -strftime()

C-Standardbibliothek - <time.h>

Beschreibung

C-Bibliotheksfunktionensize_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)Gemäßformatden Formatierungsregeln und der Formatierungsstruktur, definiert intimeptrdie dargestellte Zeit und speichern Sie sie instrIn.

Deklaration

Nachfolgend finden Sie die Deklaration der Funktion strftime().

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

Parameter

  • str-- Dies ist ein Zeiger auf das Zielarray, das verwendet wird, um die resultierende C-Zeichenkette zu kopieren.
  • maxsize-- Dies ist die maximale Anzahl von Zeichen, die in str kopiert werden.
  • format-- Dies ist eine C-Zeichenkette, die eine beliebige Kombination aus gewöhnlichen Zeichen und speziellen Formatbezeichnern enthält. Diese Formatbezeichner werden von der Funktion durch entsprechende Werte ersetzt, die die in tm angegebene Zeit darstellen. Die Formatbezeichner sind:
FormatbezeichnerErsetzt durchBeispiel
%aAbgekürzter WochentagsnameSo
%AVollständiger WochentagsnameSonntag
%bAbgekürzter MonatsnameMär
%BVollständiger MonatsnameMärz
%cDatums- und ZeitdarstellungSo Aug 19 02:56:02 2012
%dTag des Monats (01-31)19
%HStunde im 24-Stunden-Format (00-23)14
%IStunde im 12-Stunden-Format (01-12)05
%jTag des Jahres (001-366)231
%mMonat als Dezimalzahl (01-12)08
%MMinute (00-59)55
%pAM- oder PM-NamePM
%SSekunde (00-61)02
%UWoche des Jahres, wobei der erste Sonntag der erste Tag der ersten Woche ist (00-53)33
%wWochentag als Dezimalzahl, Sonntag als 0 dargestellt (0-6)4
%WWoche des Jahres, wobei der erste Montag der erste Tag der ersten Woche ist (00-53)34
%xDatumsdarstellung08/19/12
%XZeitdarstellung02:50:06
%yJahr, letzte zwei Ziffern (00-99)01
%YJahr2012
%ZName oder Abkürzung der ZeitzoneCDT
%%Ein %-Zeichen%
  • timeptr-- Dies ist ein Zeiger auf eine tm-Struktur, die eine Kalenderzeit enthält, die in die folgenden Teile aufgeschlüsselt ist:
struct tm {
   int tm_sec;         /* 秒,范围从 0 到 59                */
   int tm_min;         /* 分,范围从 0 到 59                */
   int tm_hour;        /* 小时,范围从 0 到 23                */
   int tm_mday;        /* 一月中的第几天,范围从 1 到 31                    */
   int tm_mon;         /* 月份,范围从 0 到 11                */
   int tm_year;        /* 自 1900 起的年数                */
   int tm_wday;        /* 一周中的第几天,范围从 0 到 6                */
   int tm_yday;        /* 一年中的第几天,范围从 0 到 365                    */
   int tm_isdst;       /* 夏令时                        */    
};

Rückgabewert

Wenn die resultierende C-Zeichenkette weniger als size Zeichen lang ist (einschließlich des Null-Abschlusszeichens), wird die Gesamtzahl der nach str kopierten Zeichen zurückgegeben (ausschließlich des Null-Abschlusszeichens); andernfalls wird null zurückgegeben.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion strftime().

Beispiel

#include <stdio.h> #include <time.h> int main () { time_t rawtime; struct tm *info; char buffer[80]; time( &rawtime ); info = localtime( &rawtime ); strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", info); printf("Formatiertes Datum & Uhrzeit : |%s|\n", buffer ); return(0); }

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

格式化的日期 & 时间 : |2018-09-19 08:59:07|

C-Standardbibliothek - <time.h>

Weitere Erweiterungen