Składnia
int gettimeofday (struct timval *tp, struktura strefa czasowa *tz)getTimeofday () funkcja jest zdefiniowana w Sys/czas.H plik nagłówka.
Argumenty
Ta funkcja przyjmuje dwa argumenty:
1St Argument wskazuje na Timeval Struktura. Timeval Struktura jest zadeklarowana jak poniżej w Sys/czas.H plik nagłówka:
struct timvalStruktura struktury czasowej reprezentuje czas kalendarza. Ma dwóch członków:
2Nd Argument wskazuje na strefa czasowa Struktura. Zwykle powinien być ustawiony na null, ponieważ Strefa czasowa struktura jest przestarzały. Ten argument dotyczy wyłącznie kompatybilności wstecznej.
Wartości zwracane
O sukcesie, getTimeofday () zwrócić 0, dla awarii funkcja zwraca -1.
Prosty czas i wydruku
#włączaćWyjście:
Tutaj, Sys/czas.H został uwzględniony dla getTimeofday () Funkcja i struktura czasowa. getTimeofday () Funkcja Ustaw czas w Struktura Timeval (Current_Time). TV_SEC to integralna liczba sekund upłynęła od początku UNIX EPOCH, Na północy UTC 1 stycznia 1970 r. I TV_USEC to dodatkowa liczba mikrosekund, które wychodziły z TV_SEC. Jeśli uruchomisz program, powinieneś zobaczyć dane wyjściowe. Za każdym razem, gdy uruchamiasz program, wyjście się zmieni.
Błąd argumentu zerowego
#włączaćWyjście:
W tym przykładzie pokazuje, że pierwszy argument getTimeofday () Funkcja nie powinna być zerowa. Ostrzeżenie o kompilacji nastąpi, jeśli pierwszy argument jest zerowy.
Przykład formatowania bieżącego czasu
#włączaćWyjście:
W tym przykładzie pokazuje, jak wydrukować datę i godzinę w innym formacie. Nie jest to bardzo łatwe do przedstawienia dat z wartości zwrotu getTimeofday () funkcjonować . Tutaj, czas lokalny() I Strftime () funkcje są używane do ładnego reprezentowania wartości zwracania getTimeofday ().
czas lokalny() funkcja przyjmuje argument, który jest odniesieniem do wskaźnika TV_SEC pole struktur timalval i zwraca odniesienie do wskaźnika struct tm obiekt.
Strftime () Funkcja wygeneruje spersonalizowany, sformatowany ciąg pokazujący datę i godzinę z struct tm wskaźnik. Do sformatowanego wyświetlacza używane są specyfikatory formatu. Na przykład ciąg formatu „%d-%m-%y%h:%m:%s” określa datę i godzinę w tym formularzu:
14-04-2020 13:09:42Poniżej znajdują się specyfikatory konwersji, mogą być używane do sformatowanego wyświetlacza:
Specyficzny | Oznaczający |
%A | Skrócona nazwa dnia powszedniego zgodnie z obecną lokalizacją. |
%A | Nazwa dnia powszedniego zgodnie z obecną lokalizacją. |
%B | Nazwa skróconego miesiąca zgodnie z obecną lokalizacją. |
%B | Nazwa pełnego miesiąca zgodnie z obecną lokalizacją. |
%C | Preferowana reprezentacja daty i godziny dla obecnej lokalizacji. |
%D | Jako liczba dziesiętna na miesiąc (zakres 01–11). |
%H | Korzystanie z 24 -godzinnych (zakres 00 - 23) do godziny jako liczba dziesiętna. |
%I | Używając 12 -godzinnych (zakres 00–23) do godziny jako liczba dziesiętna. |
%J | Jako liczba dziesiętna na dzień roku (zakres 001-366). |
%M | Jako liczba dziesiętna dla miesiąca (zakres 01–12). |
%M | Liczba dziesiętna minuty. |
%P | Na podstawie określonej wartości czasu, „AM” lub „PM” lub równoważnych ciągów dla bieżącej lokalizacji. |
%S | Liczba dziesiętna drugiego. |
%X | Preferowane przedstawienie daty bieżącej lokalizacji, ale bez czasu. |
%X | Preferowane reprezentacja czasu dla bieżącej lokalizacji, ale bez daty. |
%y | Rok jest dziesiętny, ale bez stulecia (zakres od 00–99). |
%Y | Rok jest dziesiętny, w tym wiek. |
%Z | Strefa czasowa. |
Korzystanie z GetTimeofDay w celu pomiaru czasu wykonania programu
#włączaćWyjście:
Ten przykład pokazuje, jak getTimeofday () Do obliczania czasu wykonywania programu można wykorzystać funkcję.
Wniosek
W ten sposób getTimeofday () Funkcja może być używana w Linux. Do przenoszenia istniejącego kodu, getTimeofday () Funkcja może być używana, ale w nowym kodzie nie należy jej używać. clock_gettime () Funkcja może być używana zamiast getTimeofday ().