system_clock reprezentuje ogólnosystemowy zegar ścienny czasu rzeczywistego. Wpływ na to mają ustawienia czasu systemu.
stable_clock reprezentuje monotonicznie rosnący zegar, na który nie mają wpływu zmiany czasu systemowego.
high_registration_clock to zegar z najkrótszym okresem taktu dostępnym w systemie.
połącz bazę danych Java
Dodatkowo
Biblioteka Chrono służy do obsługi daty i godziny. Bibliotekę tę zaprojektowano, aby poradzić sobie z faktem, że timery i zegary mogą się różnić w różnych systemach, a tym samym z czasem poprawić precyzję. Wyjątkowość chrono polega na tym, że zapewnia koncepcja neutralna pod względem precyzji poprzez oddzielenie czasu trwania i punktu czasu (punktu czasowego) od określonych zegarów. chrono jest nazwą nagłówka, a także podprzestrzeni nazw: Wszystkie elementy w tym nagłówku (z wyjątkiem specjalizacji typu common_type) nie są zdefiniowane bezpośrednio w przestrzeni nazw std (jak większość standardowej biblioteki), ale w std::chrono przestrzeni nazw . Elementy w tym nagłówku dotyczą czasu. Odbywa się to głównie za pomocą trzech koncepcji:
Czas trwania
Obiekt czasu trwania wyraża przedział czasu za pomocą licznika, na przykład minuty, dwóch godzin lub dziesięciu milisekund. Na przykład „42 sekundy” można przedstawić jako czas trwania składający się z 42 taktów w jednostce czasu wynoszącej 1 sekundę.
CPP// C++ program to illustrate the utility // function duration::count #include #include int main () { using namespace std::chrono; // std::chrono::milliseconds is an // instantiation of std::chrono::duration:- 1 second milliseconds mil(1000); mil = mil*60; std::cout << "duration (in periods): "; std::cout << mil.count() << " milliseconds.n"; std::cout << "duration (in seconds): "; std::cout << (mil.count() * milliseconds::period::num / milliseconds::period::den); std::cout << " seconds.n"; return 0; }
Wyjście:
duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.
Zegar
Zegar składa się z punktu początkowego (lub epoki) i częstotliwości taktowania. Na przykład zegar może mieć epokę 22 lutego 1996 r. i tykać co sekundę. C++ definiuje trzy typy zegarów:
instrukcja if-else Java
Punkt czasowy
Obiekt time_point wyraża punkt w czasie względem epoki zegara. Wewnętrznie obiekt przechowuje obiekt typu Duration i używa typu Clock jako odniesienia dla swojej epoki.
CPP// C++ program to illustrate time point // and system clock functions #include #include #include // Function to calculate // Fibonacci series long fibonacci(unsigned n) { if (n < 2) return n; return fibonacci(n-1) + fibonacci(n-2); } int main() { // Using time point and system_clock std::chrono::time_point<std::chrono::system_clock> start end; start = std::chrono::system_clock::now(); std::cout << "f(42) = " << fibonacci(42) << 'n'; end = std::chrono::system_clock::now(); std::chrono::duration<double> elapsed_seconds = end - start; std::time_t end_time = std::chrono::system_clock::to_time_t(end); std::cout << "finished computation at " << std::ctime(&end_time) << "elapsed time: " << elapsed_seconds.count() << "sn"; }
Wyjście:
f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s
Należy pamiętać, że precyzja i dokładność zegarów oraz czasów trwania zapewnianych przez
operatora Javy
Utwórz quiz