www.digipedia.pl - manuale

GETDATE(3)

GETDATE(3) Podręcznik programisty Linuksa GETDATE(3)
Copyright 2001 walter harms (walter.harms@informatik.uni-oldenburg.de)
 
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
 
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one
 
Since the Linux kernel and libraries are constantly changing, this manual page may be incorrect or out-of-date. The author(s) assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. The author(s) may not have taken the same level of care in the production of this manual, which is licensed free of charge, as they might when working professionally.
 
Formatted or processed versions of this manual, if unaccompanied by the source, must acknowledge the copyright and authors of this work.
 
Modified, 2001-12-26, aeb
 
Tłumaczenie wersji man-pages 1.50 - czerwiec 2002 PTM Andrzej Krzysztofowicz <ankry@mif.pg.gda.pl>
 

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

Uwaga! To tłumaczenie może być nieaktualne!

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)

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:
man --locale=C 3 getdate

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.

2001-12-26