Provided by: manpages-pl-dev_20060617-1_all bug

NAZWA

       getdate() - przekształca łańcuch w strukturę struct tm

SKŁADNIA

       #define _XOPEN_SOURCE
       #define _XOPEN_SOURCE_EXTENDED
       #include <time.h>

       struct tm *getdate (const char *string);

       extern int getdate_err;

       #define _GNU_SOURCE
       #include <time.h>

       int getdate_r (const char *string, struct tm *res);

OPIS

       Funkcja  getdate()  przekształca  łańcuch  wskazywany  przez  string  w
       strukturę tm, która jest zwracana.   Zwracana  struktura  tm  może  się
       znajdować  w  pamięci  statycznej, wobec czego zostanie nadpisana przez
       następne wywołanie funkcji.

       W  odróżnieniu  od  strptime(3),  (która  posiada   argument   format),
       getdate()  posługuje się formatami znajdującymi się w pliku, do którego
       pełna  ścieżka  jest  podana  w  zmiennej  środowiskowej  DATEMSK.   Do
       konwersji  stosowana  jest  pierwsza  z  linii  pliku,  która pasuje do
       zadanego łańcucha.

       Podczas dopasowywania ignorowana jest  wielkość  liter.  Ignorowane  są
       również   nadmiarowe   białe   znaki,   zarówno  we  wzorcu,  jak  i  w
       przekształcanym łańcuchu.

       Specyfikacje przekształceń, które mogą być zawarte we wzorcu  są  takie
       same,   jak   dla   strptime(3).    Akceptowana  jest  jedna  dodatkowa
       specyfikacja przekształcenia:

       %Z     Nazwa strefy czasowej.

       Gdy podano %Z, zwracana wartość jest inicjalizowana jako rozłożony czas
       bieżący  w  podanej  strefie  czasowej.  W  przeciwnym  przypadku, jest
       inicjalizowana jako  rozłożony  czas  odpowiadający  bieżącemu  czasowi
       lokalnemu.

       Gdy  podany  jest  tylko dzień tygodnia, brany jest pierwszy taki dzień
       przypadający w dniu bieżącym lub później.

       Gdy podany jest jedynie miesiąc (bez roku), brany  jest  pierwszy  taki
       miesiąc  przypadający  w  miesiącu  bieżącym lub po nim. Gdy nie podano
       dnia, brany jest pierwszy dzień miesiąca.

       Gdy nie podano godziny, minuty ani sekundy, brana jest bieżąca godzina,
       minuta i sekunda.

       Gdy  nie  podano daty, ale znana jest godzina, brana jest pierwsza taka
       godzina przypadająca w bieżącej godzinie lub później.

WARTOŚĆ ZWRACANA

       Po pomyślnym zakończeniu funkcja ta zwraca wskaźnik do struktury struct
       tm.   W  przeciwnym  razie,  zwraca  NULL  i  ustawia  zmienną globalną
       getdate_err.  Zmiany errno nie są określone.  Zdefiniowano  następujące
       wartości getdate_err:

       1   Zmienna   środowiska   DATEMSK   ma  wartość  pustą  lub  nie  jest
           zdefiniowana.

       2   Nie udało się otworzyć pliku wzorców w trybie do odczytu.

       3   Nie udało się pobrać informacji o stanie.

       4   Plik wzorców nie jest zwykłym plikiem.

       5   Wystąpił błąd podczas odczytu pliku wzorców.

       6   Nie udało się przydzielić pamięci (brak dostępnej pamięci).

       7   Brak w pliku linii pasującej do podanych danych.

       8   Niewłaściwa specyfikacja wejściowa.

UWAGI

       Jako że  funkcja  getdate()  nie  jest  wielowejściowa  ze  względu  na
       korzystanie  z  getdate_err  i  statycznego bufora do zwracania wyniku,
       glibc udostępnia jej wariant  przystosowany  do  wielowątkowości.  Obie
       funkcje  zapewniają  tę  samą  funkcjonalność.  Wynik  jest  zwracany w
       buforze wskazywanym przez res,  a  w  przypadku  błędu,  zwracana  jest
       niezerowa wartość, taka sama jak podano powyżej dla getdate_err.

       Specyfikacja  POSIX  1003.1-2001  dla  strptime()  zawiera specyfikacje
       przekształceń korzystające z modyfikatorów %E lub %O, podczas gdy takie
       specyfikacje  nie  zostały podane dla getdate().  Implementacja w glibc
       realizuje getdate() za pomocą  strptime(),  więc,  automatycznie,  obie
       funkcje wspierają te same specyfikacje przekształceń.

       Implementacja w glibc nie wspiera specyfikacji przekształcenia %Z.

ŚRODOWISKO

       DATEMSK
              Plik zawierający wzorce formatów.

       TZ, LC_TIME
              Zmienne używane przez strptime().

ZGODNE Z

       ISO 9899, POSIX 1003.1-2001

ZOBACZ TAKŻE

       localtime(3), strftime(3), strptime(3), time(3)

                                  2001-12-26                        GETDATE(3)