Sdílet prostřednictvím


Funkce STRFTIME, wcsftime, _strftime_l, _wcsftime_l

Formát řetězce čas.

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
);

Parametry

  • strDest
    Výstupní řetězec.

  • maxsize
    Velikost strDest vyrovnávací paměti, měřeno ve znacích (char nebo wchart_t).

  • format
    Řetězec formátu řízení.

  • timeptr
    tm datová struktura.

  • locale
    národní prostředí použít.

Vrácená hodnota

strftimeVrátí počet znaků, které jsou umístěny v strDest a wcsftime vrátí odpovídající počet znaků široký.

Pokud je celkový počet znaků, včetně ukončující null více než maxsize, i strftime a wcsftime 0 a obsah strDest jsou neurčité.

Počet znaků v strDest se rovná počtu literály v format stejně jako všechny znaky, které mohou být přidány do format přes formátovací kódy.Ukončující null řetězce nejsou zahrnuty ve vrácené hodnotě.

Poznámky

strftime a wcsftime funkce formátu tm časová hodnota v timeptr podle zadaný format argument a výsledek ve vyrovnávací paměti úložiště strDest*.*maxsize Znaky jsou umístěny v řetězci.Popis polí timeptr struktura, viz asctime. wcsftimeodpovídá znaku wide strftime; ukazatelřetězce -argument odkazuje na celou znakový řetězec. Tyto funkce chovat stejně jinak.

[!POZNÁMKA]

Ve verzích před Visual C++ 2005, dokumentaci popsanou format parametr wcsftime jako datový typconst wchar_t *, ale skutečné provádění format datový typ byl const char *. Provádění format datový typ byl aktualizován, aby odrážel předchozí a aktuální dokumentaci, je const wchar_t *.

Tato funkce ověřuje jeho parametry.Pokud strDest, format, nebotimeptr je nulový ukazatelnebo pokud tm datová struktura adresovány timeptr je neplatný (například pokud obsahuje rozsah hodnot pro čas nebo datum), nebo pokud format obsahuje řetězec neplatný formátování kódu, vyvolat neplatnýpopisovačparametr , jak je popsáno v Ověření parametrů. Pokud je povoleno spuštění pokračovat, vrátí funkce hodnotu 0 a sady errno na EINVAL.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tcsftime

strftime

strftime

wcsftime

format argument se skládá z jednoho nebo více kódů; jako v printf, formátovací kódy předchází znak procenta (%).Znaky, které nemají na začátku % zkopírovány nezměněny do strDest*.*LC_TIME kategorie aktuální národní prostředí ovlivňuje formátování výstupu z strftime. (Další informace o LC_TIME, viz setlocale.) Funkce bez _l použijte příponu aktuálně nastavené národní prostředí.Verze těchto funkcí se _l přípony jsou shodné s výjimkou, že přijmout národní prostředí jako parametr a použít místo aktuálně nastavené národní prostředí.Další informace naleznete v tématu Národní prostředí.

Formátování kódů pro strftime jsou uvedeny níže:

  • %a
    Název dne v týdnu zkrácený

  • %A
    Úplný název dne

  • %b
    Zkrácený název měsíce

  • %B
    Název měsíce

  • %c
    Datum a čas reprezentace vhodné pro národní prostředí

  • %d
    Den v měsíci jako desítkové číslo číslo (01-31)

  • %H
    Hodina ve 24hodinovém formátu (00 – 23)

  • %I
    Hodinu v 12hodinovém formátu (01-12)

  • %j
    Den v roce jako desítkové číslo číslo (001 – 366)

  • %m
    Měsíc jako desítkové číslo číslo (01-12)

  • %M
    Minuta jako desítkové číslo číslo (00-59)

  • %p
    Aktuální národní prostředív 12hodinovém.indikátor pro 12 hodin

  • %S
    Druhý jako desítkové číslo číslo (00-59)

  • %U
    Týdne neděle jako první den týdne rok jako desítkové číslo číslo (00-53)

  • %w
    Den v týdnu jako desítkové číslo číslo (0 – 6; Je neděle 0)

  • %W
    Týden roku pondělí jako první den v týdnu jako desítkové číslo číslo (00-53)

  • %x
    Reprezentace data pro aktuální národní prostředí

  • %X
    Znázornění času pro aktuální národní prostředí

  • %y
    Rok bez století jako desítkové číslo číslo (00-99)

  • %Y
    Rok s století jako desítkové číslo číslo

  • %z, %Z
    Názevzóna - čas nebo čas zkratkou zóna , v závislosti na nastavení registru; žádné znaky, pokud Neznámé časové zóna

  • %%
    Znak procenta

Jako printf funkce # označit příznakem může předpona kód pro formátování. V takovém případě je takto změnit význam kódu formátu.

Formátování kódu

Význam

%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#%

# označit příznakem je ignorována.

%#c

Dlouhé datum a čas reprezentace, vhodné pro aktuální národní prostředí.Například: "Úterý, 14, dne, 12: 41: 29".

%#x

Dlouhé datum reprezentace, vhodné pro aktuální národní prostředí.Například: "Úterý, 14, dne".

%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y

Odebrání úvodní nuly (pokud existuje).

Požadavky

Rutina

Požadované hlavička

strftime

<time.h>

wcsftime

<time.h> nebo <wchar.h>

_strftime_l

<time.h>

_wcsftime_l

<time.h> nebo <wchar.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

Viz příklad pro čas.

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Národní prostředí

Aplikace Správa času

Manipulaci s řetězci (CRT)

localeconv

setlocale _wsetlocale

Funkce strcoll

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l