strftime, wcsftime, _strftime_l_wcsftime_l

Idősztring formázása.

Szemantika

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

Paraméterek

strDest
Kimeneti sztring.

maxsize
strDest A puffer mérete karakterekkel (charvagy wchar_tkarakterekkel) mérve.

format
Formátumvezérlő sztring.

timeptr
tm adatstruktúra.

locale
A használni kívánt területi beállítás.

Visszaadott érték

strftime A beszűkületett strDest karakterek számát adja vissza, és wcsftime a megfelelő számú széles karaktert adja vissza.

Ha a karakterek teljes száma , beleértve a null értéket is, nagyobb, mint maxsize, strftime és wcsftime 0 értéket ad vissza, és a karakterek tartalma strDest meghatározatlan.

A benne lévő strDest karakterek száma megegyezik a literális karakterek formatszámával, valamint a formázási kódokon keresztül hozzáadható format karakterek számával. Egy sztring befejező nullértéke nem számít bele a visszatérési értékbe.

Megjegyzések

A strftime függvények wcsftime a megadott argumentumnak megfelelően formázza az tm időértéket timeptrformat , és az eredményt a pufferben strDesttárolja. A karakterek legfeljebb maxsize a sztringbe kerülnek. A struktúra mezőinek leírását lásd timeptrasctime: . wcsftime a ;karakterláncmutató argumentuma egy széles karakterű strftimesztringre mutat. Ezek a függvények egyébként ugyanúgy viselkednek.

Ez a függvény ellenőrzi a paramétereit. Ha strDest, formatvagy timeptr null mutató, vagy ha az tm általa timeptr kezelt adatstruktúra érvénytelen (például ha az adott időpontra vagy dátumra vonatkozó tartományon kívüli értékeket tartalmaz), vagy ha a format sztring érvénytelen formázási kódot tartalmaz, az érvénytelen paraméterkezelőt hívja meg a paraméterérvényesítésben leírtak szerint. Ha a végrehajtás folytatva van, a függvény 0 értéket ad vissza, és a következőre állítjaerrno.EINVAL

Alapértelmezés szerint ennek a függvénynek a globális állapota hatóköre az alkalmazásra terjed ki. A viselkedés módosításához tekintse meg a globális állapotot a CRT-ben.

Általános szöveges rutinleképezések

TCHAR.H rutin _UNICODE és _MBCS nincs definiálva _MBCS definiálva _UNICODE definiálva
_tcsftime strftime strftime wcsftime

Az format argumentum egy vagy több kódból áll, a printfformázási kódokat pedig százalékjel (%) előzi meg. Azok a karakterek, amelyek nem kezdődnek % , változatlanul lesznek átmásolva a programba strDest. Az LC_TIME aktuális területi beállítás kategóriája befolyásolja a kimenet formázását strftime. További információ: LC_TIMEsetlocale. A strftime és wcsftime függvények a jelenleg beállított területi beállításokat használják. A _strftime_l függvények és _wcsftime_l a verziók megegyeznek azzal a kivételrel, hogy a területi beállításokat paraméterként használják, és ezt használják a jelenleg beállított területi beállítás helyett. További információ: Területi beállítások.

A strftime függvények a következő formázási kódokat támogatják:

Kód Helyettesítő sztring
%a Rövidített hétköznap neve a területi beállításban
%A Teljes hétköznap neve a területi beállításban
%b Rövidített hónapnév a területi beállításban
%B Teljes hónap neve a területi beállításban
%c A területi beállításnak megfelelő dátum- és időábrázolás
%C Az év 100-tal osztva és egész számra csonkolva decimális számként (00−99)
%d A hónap napja decimális számként (01–31)
%D Egyenértékű %m/%d/%y
%e A hónap napja decimális számként (1–31), ahol az egy számjegyet szóköz előzi meg
%F Egyenértékű %Y-%m-%d
%g Az ISO 8601 hétalapú év utolsó 2 számjegye decimális számként (00–99)
%G Az ISO 8601 hétalapú év decimális számként
%h Rövidített hónap neve (egyenértékű a %b)
%H Óra 24 órás formátumban (00 –23)
%I Óra 12 órás formátumban (01 –12)
%j Az év napja decimális számként (001 - 366)
%m Hónap decimális számként (01 – 12)
%M Perc tizedes törtként (00 –59)
%n Új vonal karakter (\n)
%p A területi beállítás A.M./P.M. jelzője 12 órás órára
%r A területi beállítás 12 órás óraideje
%R Egyenértékű %H:%M
%S Másodperc decimális számként (00 –59)
%t Vízszintes tabulátor karakter (\t)
%T Egyenértékű az %H:%M:%SISO 8601 időformátummal
%u ISO 8601 hétköznap decimális számként (1 –7; Hétfő 1)
%U Az év hétszáma decimális számként (00 –53), ahol az első vasárnap az 1. hét első napja
%V ISO 8601 hét szám decimális számként (00 -53)
%w Hétköznap decimális számként (0 –6; Vasárnap 0)
%W Az év hétszáma decimális számként (00 –53), ahol az első hétfő az 1. hét első napja
%x Dátumábrázolás a területi beállításhoz
%X A területi beállítás időábrázolása
%y Év évszázad nélkül, tizedes törtként (00 - 99)
%Y Év évszázaddal, tizedes tört számként
%z Az UTC-től való eltolás ISO 8601 formátumban; nincs karakter, ha az időzóna ismeretlen
%Z A beállításjegyzék beállításaitól függően a területi beállításjegyzék időzóna-neve vagy időzóna rövidítése; nincs karakter, ha az időzóna ismeretlen
%% Százalékjel

A függvényhez hasonlóan a printf# jelölő bármilyen formázási kódot előtagként tartalmazhat. Ebben az esetben a formátumkód jelentése az alábbiak szerint módosul.

Formátumkód Értelmezés
%#a, %#A, %#b, %#B, %#g, %#G%#h, %#n, %#p, %#t, %#u, %#w, , %#X, , %#z, %#Z,%#% # a rendszer figyelmen kívül hagyja a jelölőt.
%#c A területi beállításnak megfelelő hosszú dátum- és időábrázolás. Például: "1995. március 14., kedd, 12:41:29".
%#x A területi beállításnak megfelelő hosszú dátum ábrázolása. Például: "1995. március 14., kedd".
%#d, %#D, %#e, %#F, %#H, %#I%#j, %#m, %#M, %#r, , %#R, %#S, %#T, , %#U, %#V, , %#W%#y%#Y Első nullák vagy szóközök eltávolítása (ha vannak ilyenek).

Az ISO 8601 hét és hét alapú év által %Velőállított , %gés %G, használ egy hét, amely kezdődik hétfőn. Az 1. hét az a hét, amely január negyedik napját tartalmazza, amely az első hét, amely az év legalább négy napját tartalmazza. Ha az év első hétfője a 2., a 3. vagy a 4., akkor az előző napok az előző év utolsó hetének részei. Ezekben a napokban %V az 53-at, és mindkettőt %g%G felváltják az előző év számjegyei.

Megjegyzés:

Ha az egyik függvényt a strftime visszaadott gmtimemutatóval tm használja, a kijelölőkkel kinyomtatott %z%Z értékek nem lesznek pontosak. Ennek az az oka, hogy a tm C Standard által megadott szerkezet nem tartalmazza az időzóna nevének és eltolásának adatait. Ehelyett az időzónával kapcsolatos információk a globális változókon_timezone és _dstbiasa .

Követelmények

Rutin Kötelező fejléc
strftime <time.h>
wcsftime <time.h> vagy <wchar.h>
_strftime_l <time.h>
_wcsftime_l <time.h> vagy <wchar.h>

A _strftime_l függvények a _wcsftime_l Microsoft-specifikusak. További kompatibilitási információkért lásd: Kompatibilitás.

példa

Lásd a példát a time.

Lásd még

Helyszín
Időbeosztás
sztringek kezelése
localeconv
setlocale, _wsetlocale
strcoll funkciók
strxfrm, wcsxfrm, _strxfrm_l_wcsxfrm_l