Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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