Udostępnij za pośrednictwem


strftime, wcsftime, _strftime_l, _wcsftime_l

Format ciągu czasu.

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
    Ciąg wyjściowy.

  • maxsize
    Rozmiar strDest buforu, mierzone w znakach (char lub wchart_t).

  • format
    Ciąg formantu formatu.

  • timeptr
    tmStruktura danych.

  • locale
    Ustawienia regionalne do użycia.

Wartość zwracana

strftimeZwraca liczbę znaków w strDest i wcsftime zwraca odpowiedni numer szerokości znaków.

Jeśli całkowita liczba znaków, w tym wartości null zakończeń, jest więcej niż maxsize, zarówno strftime i wcsftime zwraca 0 i zawartość strDest są nieokreślone.

Liczba znaków w strDest jest równa liczbie znaków literalnych w format jak również wszystkie znaki, które mogą być dodawane do format za pośrednictwem kody formatowania.Zakończenie null ciąg nie jest liczona w wartości zwracanej.

Uwagi

strftime i wcsftime funkcje formatu tm czas wartość w timeptr według podanej format argument i przechowywać wynik w buforze strDest*.* Co najwyżej maxsize znaki są umieszczane w ciągu.Opis pola w timeptr struktury, zobacz asctime.wcsftimejest odpowiednikiem znaku wide strftime; argument ciągu wskaźnik wskazuje ciąg znaków wide.W innych przypadkach funkcje te zachowują się identycznie.

[!UWAGA]

W wersjach przed Visual C++ 2005, dokumentację opisaną format parametr wcsftime jako typ danych o const wchar_t *, ale faktycznej realizacji format typ danych został const char *.Wykonania format typ danych został zaktualizowany w celu odzwierciedlenia w poprzednim i bieżącym dokumentacji, czyli const wchar_t *.

Ta funkcja sprawdza poprawność swoich parametrów.Jeśli strDest, format, lub timeptr jest pusty wskaźnik, lub jeśli tm struktury danych kierowane przez timeptr jest nieprawidłowy (na przykład, jeśli zawiera ona wartości spoza zakresu dla daty lub godziny), lub jeśli format ciąg zawiera nieprawidłowy kod formatujący, obsługi nieprawidłowy parametr jest wywoływany, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, funkcja zwraca 0 i ustawia errno jako EINVAL.

Rutynowe mapowania zwykłego tekstu

Procedura Tchar.h

_UNICODE & _MBCS nie zdefiniowano

_MBCS zdefiniowano

_UNICODE zdefiniowany

_tcsftime

strftime

strftime

wcsftime

format Argument składa się z jednego lub więcej kodów; Podobnie jak w printf, kody formatowania są poprzedzone znakiem procentu (%).Znaki, które nie zaczynają się od % są kopiowane bez zmian do strDest*.*LC_TIME Kategorii bieżących ustawień regionalnych ma wpływ na formatowanie danych wyjściowych z strftime. (Aby uzyskać więcej informacji na temat LC_TIME, zobacz setlocale.) Funkcje bez _l sufiks używać aktualnie ustawione ustawienia regionalne.Wersje te funkcje za pomocą _l sufiks są identyczne, chyba że biorą ustawień regionalnych jako parametr i używać zamiast aktualnie ustawione ustawienia regionalne.Aby uzyskać więcej informacji, zobacz Regionalne.

Formatowanie kodów dla strftime są wymienione poniżej:

  • %a
    Skrótowa nazwa dnia tygodnia

  • %A
    Pełna nazwa dnia tygodnia

  • %b
    Skrócona nazwa miesiąca

  • %B
    Pełna nazwa miesiąca

  • %c
    Reprezentacja daty i czasu, odpowiednie dla ustawień regionalnych

  • %d
    Dzień miesiąca w postaci liczby dziesiętnej (01 – 31)

  • %H
    Godzina w formacie 24-godzinnym (00-23)

  • %I
    Godziny w formacie 12-godzinnym (01 – 12)

  • %j
    Dzień roku jako liczbę dziesiętną (001-366)

  • %m
    Miesiąca w postaci liczby dziesiętnej (01 – 12)

  • %M
    Minuty jako liczba dziesiętna (00-59)

  • %p
    Bieżące ustawienia regionalne godzinę. wskaźnik zegar 12-godzinny

  • %S
    Drugi jako liczba dziesiętna (00-59)

  • %U
    Tydzień roku jako liczby dziesiętnej, niedziela jako pierwszy dzień tygodnia (00-53)

  • %w
    Dzień tygodnia, jako liczba dziesiętna (0 – 6; Niedziela jest 0)

  • %W
    Tydzień roku jako liczby dziesiętnej, poniedziałek jako pierwszy dzień tygodnia (00-53)

  • %x
    Reprezentacja daty dla bieżących ustawień regionalnych

  • %X
    Reprezentacja godziny dla bieżących ustawień regionalnych

  • %y
    Rok bez stulecia, jako liczba dziesiętna (00-99)

  • %Y
    Rok z wiekiem, jako liczba dziesiętna

  • %z, %Z
    Nazwa strefy czasowej lub skrót nazwy strefy czasowej, w zależności od ustawień rejestru; Brak znaków jeśli strefa czasowa jest nieznana

  • %%
    Znak procentu

Podobnie jak w printf funkcji, # Flaga może prefiks formatowania kodu.W takim przypadku znaczenia kodu formatu zostanie zmieniona w następujący sposób.

Kod formatu

Znaczenie

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

#Flaga jest ignorowana.

%#c

Długo reprezentacja daty i czasu, odpowiednie dla bieżących ustawień regionalnych.Na przykład: "Wtorek, 14 marca 1995, 12:41:29".

%#x

Reprezentacja daty długiej, właściwe jest bieżące ustawienia regionalne.Na przykład: "Wtorek, 14 marca 1995".

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

Usunięcie zer wiodących (jeśli istnieje).

Wymagania

Procedura

Wymagany nagłówek

strftime

<czas.h>

wcsftime

<Time.h> lub <wchar.h>

_strftime_l

<czas.h>

_wcsftime_l

<Time.h> lub <wchar.h>

Dodatkowe informacje o zgodności – zobacz: Zgodność we Wprowadzeniu.

Przykład

Zobacz przykład dla czas.

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Regionalne

Zarządzanie czasem

Manipulowanie ciągami (CRT)

localeconv

setlocale, _wsetlocale

strcoll — Funkcje

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l