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, mierzona w znakach (char lub wchart_t).

  • format
    Ciąg formatu formantu.

  • timeptr
    tmstrukturadanych.

  • locale
    ustawienia regionalne , aby użyć.

Wartość zwracana

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

Jeśli całkowita liczba znaków, w tym zakończeń null, 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 literałowych w format jak również wszystkie znaki, które mogą być dodawane do format za pośrednictwem kody formatowania.Zakończeń null ciąg nie jest liczony w wartości zwracanej.

Uwagi

strftime i wcsftime funkcji format tm wartość czasu w timeptr do dostarczony format argument i przechowywać wynik w buforze strDest*.* Co najbardziej maxsize znaki są umieszczane w ciągu.Opis pól w timeptr struktura, zobacz asctime. wcsftimejest to równoważne szerokich znaków strftime; wskaźnik- ciągargument wskazuje na łańcuch szerokich znaków. Te funkcje działają identycznie inaczej.

[!UWAGA]

W wersjach przed Visual C++ 2005, dokumentację opisaną format parametr wcsftime jako posiadające typ danychconst wchar_t *, ale faktycznej realizacji format typ danych został const char *. Wykonania format typ danych został zaktualizowany w celu odzwierciedlenia poprzedniego i bieżącego dokumentacji, oznacza to, że const wchar_t *.

Ta funkcja sprawdza poprawność jego parametry.Jeśli strDest, format, lubtimeptr jest pusty wskaźniklub jeśli tm danych struktura skierowane przez timeptr jest nieprawidłowy (na przykład, jeśli zawiera ona z zakresu wartości dla daty lub godziny), lub jeśli format ciąg zawiera nieprawidłowy kod formatujący, obsługi nieprawidłowyparametr jest wywoływany, jak opisano w Sprawdzanie poprawności parametru. Jeśli wykonanie jest dozwolone, aby kontynuować, funkcja zwraca 0 i zestawy errno do EINVAL.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_tcsftime

strftime

strftime

wcsftime

format argument składa się z jednego lub większej liczby kodów; Podobnie jak w printf, kody formatowania są poprzedzone znakiem procentu (%).Znaki, które nie rozpoczyna się od % są kopiowane bez zmian do strDest*.*LC_TIME Kategorii bieżące ustawienia regionalne wpływa na formatowanie danych wyjściowych z strftime.(Aby uzyskać więcej informacji na LC_TIME, zobacz setlocale.) Funkcje bez _l sufiks używać aktualnie ustawionych ustawienia regionalne.Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że podjąć ustawienia regionalne jako parametr i używać go zamiennie z aktualnie ustawioną ustawienia regionalne.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

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

  • %a
    Nazwa dnia tygodnia w skrócie

  • %A
    Pełna nazwa dnia tygodnia

  • %b
    Skrócona nazwa miesiąca

  • %B
    Pełna nazwa miesiąca

  • %c
    Reprezentacja daty i czasu odpowiednia dla ustawienia regionalne

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

  • %H
    Godzinę w formacie 24-godzinnym (00 – 23)

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

  • %j
    Dzień roku jako liczbę liczba dziesiętna (001-366)

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

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

  • %p
    Bieżące ustawienia regionalnena ustaloną.wskaźnik na zegarze 12-godzinnym

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

  • %U
    Tydzień roku jako liczbę liczba dziesiętna z niedzieli jako pierwszy dzień tygodnia (00 – 53)

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

  • %W
    Tydzień roku jako liczbę liczba dziesiętna z poniedziałku jako pierwszy dzień tygodnia (00 – 53)

  • %x
    Reprezentacja daty dla bieżącego ustawienia regionalne

  • %X
    Reprezentacja czasu dla bieżącego ustawienia regionalne

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

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

  • %z, %Z
    Nazwastrefa czasu - albo czas skrót strefa , w zależności od ustawień rejestru; Brak znaków Jeśli czas strefa jest nieznany

  • %%
    Znak procentu

Podobnie jak w printf funkcja # oflagować może prefiks formatowania kodu. W takim rozumieniu kod formatu jest zmieniana w następujący sposób.

Kod formatu

Znaczenie

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

# oflagować jest ignorowana.

%#c

Długo reprezentacja daty i czasu, odpowiednie dla bieżącego ustawienia regionalne.Na przykład: "Wtorek, 14 marca 1995, 12: 41: 29".

%#x

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

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

Usuń zer (jeśli ma zastosowanie).

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówek

strftime

<time.h>

wcsftime

<time.h> lub <wchar.h>

_strftime_l

<time.h>

_wcsftime_l

<time.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

Zobacz przykład dla czasu.

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Ustawienia regionalne

Zarządzanie czasem

Manipulowanie ciągami (CRT)

localeconv

setLocale, _wsetlocale

Funkcje strcoll

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l