Stronę tą wyświetlono już: 3142 razy
Do przechowywania czasu w formacie upływu milisekund, sekund, minut i godzin w bibliotece Qt służy klasa QTime. Klasa ta jest dostępna po załączeniu pliku nagłówkowego QTime.
Metody statyczne
Klasa QTime posiada kilka metod statycznych. Wśród nich jest metoda currentTime, której celem jest zwrócenie obiektu klasy QTime zawierającego bieżący czas.
Przykładowy wynik działania powyższego kodu:
QTime("18:00:00.000")
Kolejna metoda statyczna fromMSecsSinceStartOfDay umożliwia ustawienie czasu za pomocą liczby określającej upływ czasu w milisekundach zaczynając od godziny 00:00:00.000. Oto przykład:
Powyższy kod wyświetli:
QTime("03:25:45.678")
Wartą poświęcenia uwagi jest również metoda statyczna fromString, która umożliwia zamianę czasu na obiekt QTime. Oto kilka przykładów użycia tej metody:
Wynik działania powyższego kodu:
QTime("15:33:24.000") QTime("01:03:04.000") QTime("01:02:03.456")
Konstruktory
Domyślny konstruktor nie ustawia żadnej wartości czasu, natomiast dużo ciekawszy konstruktor umożliwia ustawienie czasu w następujący sposób:
Metody związane z odmierzaniem czasu
Jeżeli potrzebujesz odmierzać czas, jaki upłyną to metody start, restart i elapsed są do tego celu stworzone.
Metoda start ustawia bieżący czas, natomiast metoda restart zwraca upływ czasu w milisekundach i ustawia (resetuje) czas na bieżącą godzinę. Metoda elapsed zwraca upływ czasu bez resetowania wartości przechowywanej w obiekcie klasy QTime.
Przykładowy wycinek wyniku wyświetlonego przez powyższy kod:
... QTime("00:00:01.638") QTime("00:00:01.638") QTime("00:00:01.638") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") Finly: QTime("00:00:01.654")
Metody pobierające i dodające wartości do składowych czasu zawartego w obiekcie klasy QTime
Pobieranie wartości poszczególnych składowych czasu umożliwiają metody:
- hour - zwraca godziny;
- minute - zwraca minuty;
- second - zwraca sekundy;
- msec - zwraca milisekundy
Możliwe jest też uzyskanie liczby milisekund, jakie upłynęły od początku dnia za pomocą metody msecsSinceStartOfDay lub uzyskanie liczby milisekund, jakie dzieli bieżący czas obiektu klasy QTime od innego obiektu tej samej klasy za pomocą metody msecsTo.
Istnieją też dwie metody umożliwiające dodanie do bieżącego czasu obiektu sekund lub milisekund:
- addMSec;
- addSec