Składnia Difftime ()
Double Difftime (Time_Obj End, Time_Obj Start);Funkcja przyjmuje w niej dwa parametry. Są to obiekty zadeklarowane przez obiekt czasu „Time_Obj”. Jednym z nich jest „koniec”, który pokazuje czas końcowy każdego procesu. Jednocześnie drugi to „start”, który reprezentuje czas rozpoczęcia. Wartość zwracająca funkcję difftime () zwraca różnicę między czasem w sekundach uzyskanych z dwóch obiektów, jak opisano powyżej.
Ta funkcja jest powiązana z wbudowanym czasem funkcji () w C ++, ponieważ funkcja ta zwraca bieżący czas kalendarza. Jest to również obecne w pliku nagłówka C++.
Wdrożenie funkcji difftime ()
Przykład 1 # difftime () dla produktów
Aby znaleźć różnicę między dwa razy w sekundach, konieczne jest dodanie biblioteki, w której definiowana jest funkcja difftime (). W języku programowania C ++ należy użyć tej biblioteki.
#włączaćJak omówiono wcześniej, w programie głównym konieczne są dwa obiekty, start i wykończenie, aby obliczyć różnicę między czasami. Te dwa obiekty są zadeklarowane za pomocą Time_Time.
Time_t start, zakończDeklarowana jest inna zmienna z produktem nazwy długiego typu danych. Ilekroć logika, którą chcemy zastosować w programie, zostanie to zapisane w treści obiektów początkowych i wykończenia.
Czas (i start);Ponieważ obiekt czasu rozpoczęcia rozpoczyna się i trwa, gdy funkcja/ operacja jest w toku po zakończeniu procesu, gotowy obiekt zauważa czas zakończenia. Na przykład w tym programie wyjaśniono poniżej, użyliśmy prostej zagnieżdżonej pętli, aby obliczyć iloczyn dwóch wartości. Te dwie wartości zaczynają się od 0 i kończą się na dużej wartości. Zewnętrzna pętla „dla” kończy się przed 1000, a pętla wewnętrzna kończy się na 30000; Wewnątrz pętli „dla”, ciało w każdej iteracji, liczba z zewnętrznego i liczba z pętli wewnętrznej są mnożone. Zmienne „i” i „j” są oznaczone każdą liczbą po każdej iteracji, nowa liczba w każdym cyklu. Wynikowy jest przechowywany w zmiennej „produktu”
Produkt = i * j;Wymagany czas, który chcemy uzyskać, jest obliczany na podstawie funkcji różnej. Ponieważ ta funkcja zawiera dwa parametry, więc funkcja będzie:
Diftime (zakończ, start);Ta funkcja zwróci czas uzyskany przez odejmowanie czasu rozpoczęcia od czasu zakończenia.
Teraz zapisz kod źródłowy z rozszerzeniem C. Używamy kompilatora G ++ do kompilacji pliku C ++ i wykonania go. Plik, którego tu użyliśmy, to „DIF. C ', który zawiera kod źródłowy, jest kompilowany, a wyjście jest przechowywane w pliku wyjściowym przez „-O”.
$ g ++ -o dif dif.CMożesz zobaczyć, że wymagany czas wynosi 0 sekund. Oznacza to, że zagnieżdżona pętla obliczy produkt za 0 sekund. W powyższym kodzie wartość w zewnętrznej pętli jest mniejsza niż wewnętrzna, więc różnica czasu wynosiła zero, ponieważ można ją łatwo obliczyć. Co jeśli wartość w wewnętrznej pętli staje się mniejsza niż zewnętrzna pętla? Wyjaśnimy dalej. Reszta wymagań jest takie same. Produkt zostanie obliczony w pętli. Użyjemy obiektów Start i Finish, aby zwrócić uwagę na wartości początkowe i końcowe.
Teraz zapisz kod i uruchom go. Podczas egzekucji zobaczysz, że zajmie to trochę czasu. W porównaniu z poprzednią sytuacją zajmuje to tylko zerowe sekundy, a wynik był wyświetlany nagle, ale w tym przypadku wydaje się, że musi być więcej niż zero sekund.
Po pewnym oczekiwaniu zobaczysz wynikowe stwierdzenie. Zgodnie z tym pętle zajęły 62 sekundy, aby zostać wykonane, aby można było obliczyć produkt dwóch wartości podczas każdej iteracji.
Przykład 2 # difftime () dla zagnieżdżonych pętli
W przeciwieństwie do poprzedniej instrukcji, użyliśmy innej biblioteki tutaj.
Nie ma potrzeby określania „iostream” i „ctime” ani żadnej innej biblioteki za pomocą tej biblioteki. Obie zmienne są inicjowane. W tym przykładzie trzykrotnie użyliśmy zagnieżdżonych pętli. Każda zagnieżdżona pętla kończy się i zaczyna się następna zagnieżdżona pętla. Każda pętla wewnątrz zagnieżdżonej pętli ma inną wartość dla zmiennej i; Dla zmiennej J wartości są takie same dla pętli wewnętrznej.
Ponadto nie obliczyliśmy niczego ani żadnej operacji. Miało miejsce tylko wykonanie pętli. Zmienne początkowe i końcowe będą obserwować czas początkowy i końcowy.
Po każdym wykonaniu, na koniec, funkcja difftime () jest wywoływana w celu wykonania odpowiedzi.
Różnica (zakończenie, start)Wykonamy kod źródłowy, aby zobaczyć sekundy zużyte podczas wykonywania trzech zagnieżdżonych pętli.
W ogóle potrwa to 10 sekund dla wszystkich trzech pętli.
Przykład 3 # difftime () przez pewien czas między datami
Aby obliczyć różnicę czasu od początku programu do końca, jest już opracowane. Naszym obawą o dyskusję jest obliczenie różnicy w sekundach od jednego konkretnego dnia. Tutaj daty nie są prawidłowo wymienione. Ale program przyniesie bieżącą datę z systemu. Tutaj obliczymy różnicę w czasie w sekundach od Nowego Roku do tej pory.
Obiekt biblioteki czasowej jest używany do pobrania bieżącego czasu, aby można było obliczyć różnicę. Tutaj nie potrzebujemy zmiennych początkowych i końcowych osobno.
Tutaj inicjowana jest struktura czasu „Nowy Rok”. Użyjemy zmiennej „teraz”, aby uzyskać bieżący czas.
Już czas);Obiekt „TM” struktury noworocznej zadeklaruje godziny, min, sekundy i miesiąc jako zero. Różnica funkcji zostanie wywołana, która zajmie teraz (aktualny czas), a kolejna wbudowana funkcja wewnątrz parametru, aby uzyskać nowy rok w kilka sekund.
Sekundy = difftime (teraz, MkTime (& Newyear));Teraz wykonaj program; Zobaczysz, że 6036632 sekundy są przekazywane do tej pory zgodnie z bieżącą datą twojego systemu.
Wniosek
„difftime () C ++” jest funkcją, która dotyczy pobierania czasu w sekundach uzyskanych przez odejmowanie czasu rozpoczęcia od czasu zakończenia; Te dwie zmienne typu obiektu czasowego są używane do zapewnienia czasu w sekundach. Teraz podsumowując artykuł, porozmawiamy o niektórych przykładach, które zawarliśmy w artykule. Ta funkcja pomaga również w zapewnieniu czasu z określonej daty do tej pory, jak omówiono powyżej w przykładzie.