2001-12-26
Aliases: getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_err(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3), getdate_r(3)
manpages-pl-dev
Polish man pages for developers
man-pages-pl
Polish man pages from the Linux Documentation Project
manpages-dev
Manual pages about using GNU/Linux for development
man-pages
Linux kernel and C library user-space interface documentation
NAZWA
getdate() - przekształca łańcuch w strukturę struct tm
SKŁADNIA
#define _XOPEN_SOURCE
#define _XOPEN_SOURCE_EXTENDED
#include <time.h>
#define _XOPEN_SOURCE_EXTENDED
#include <time.h>
struct tm *getdate (const char *string);
extern int getdate_err;
#define _GNU_SOURCE
#include <time.h>
#include <time.h>
int getdate_r (const char *string, struct tm *res);
OPIS
Uwaga! To tłumaczenie może być nieaktualne!
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.
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 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
INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.
man --locale=C 3 getdate |