Qt - przetwarzanie dat czyli klasa QDate

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 2210 razy

Klasa QDate dostępna po załączeniu pliku QDate umożliwia przechowywanie i przetwarzanie dat.

Metody statyczne

Oto metody statyczne, które umożliwiają pozyskanie obiektu klasy QDate:

Przykład użycia metody fromString

qDebug() << QDate::fromString("01-01-2003", "dd-MM-yyyy"); qDebug() << QDate::fromString("01-Sty-2003", "dd-MMM-yyyy"); qDebug() << QDate::fromString("01-Styczeń-2003", "dd-MMMM-yyyy"); qDebug() << QDate::fromString("01-Styczeń-03", "dd-MMMM-yy");

Wynik działania powyższego kodu:

QDate("2003-01-01")
QDate("2003-01-01")
QDate("2003-01-01")
QDate("1903-01-01")

Przykład użycia metod longDayName i shortDayName

for(int i = 0; i < 9; i++){ qDebug() << "Dzień" << i << QDate::longDayName(i) << "" << QDate::shortDayName(i); }

Wynik działania powyższego kodu:

Dzień 0 ""  ""
Dzień 1 "poniedziałek"  "Pn"
Dzień 2 "wtorek"  "Wt"
Dzień 3 "środa"  "îr"
Dzień 4 "czwartek"  "Cz"
Dzień 5 "piątek"  "Pt"
Dzień 6 "sobota"  "So"
Dzień 7 "niedziela"  "N"
Dzień 8 ""  ""

Przykład użycia metod longMonthName i shortMonthName

for(int i = 0; i < 14; i++){ qDebug() << "Miesiąc" << i << QDate::longMonthName(i) << "" << QDate::shortMonthName(i); }

Wynik działania powyższego kodu:

QTime("17:39:38.947")
Miesiąc 0 ""  ""
Miesiąc 1 "styczeń"  "sty"
Miesiąc 2 "luty"  "lut"
Miesiąc 3 "marzec"  "mar"
Miesiąc 4 "kwiecień"  "kwi"
Miesiąc 5 "maj"  "maj"
Miesiąc 6 "czerwiec"  "cze"
Miesiąc 7 "lipiec"  "lip"
Miesiąc 8 "sierpień"  "sie"
Miesiąc 9 "wrzesień"  "wrz"
Miesiąc 10 "październik"  "paź"
Miesiąc 11 "listopad"  "lis"
Miesiąc 12 "grudzień"  "gru"
Miesiąc 13 ""  ""

Konstruktory klasy QDate

Klasa QDate ma dwa konstruktory: domyślny nie przyjmujący żadnych argumentów i przyjmujący jako argumenty numer roku, miesiąca i dnia. Oto przykład:

QDate date; qDebug() << date; QDate date2(2003, 1, 1); qDebug() << date2;

Wynik działania powyższego kodu:

QTime("18:02:34.960")
QDate("")
QDate("2003-01-01")

Metody zwracające rok, miesiąc lub dzień przechowywanej daty

Trzy metody umożliwiają pozyskanie składowych daty przechowywanej w obiekcie klasy QDate:

Metoda zwracająca dzień tygodnia oraz metoda zwracająca numer dnia roku

Pozyskiwanie informacji o liczbie dni miesiąca oraz dni roku przechowywanej daty

Metody dodające dni, miesiące i lata do ustawionej daty

Zamiana daty na obiekt klasy QString

Za pomocą metody toString można zamienić obiekt klasy QDate na obiekt klasy QString z wybraną metodą formatowania:

QDate date(2003, 1, 1); qDebug() << date.toString("dd-MM-yyyy"); qDebug() << date.toString("dd-MMM-yyyy"); qDebug() << date.toString("dd (ddd)-MMM-yyyy");

Wynik działania powyższego kodu:

"01-01-2003"
"01-sty-2003"
"01 (śr)-sty-2003"

Porównywanie obiektów klasy QDate

Obiekty klasy QDate mogą być porównywane za pomocą operatorów porównywania.

Strony powiązane
strony powiązane
  1. doc.qt.io/qt-5/qdate.html - opis klasy QDate na stronie dokumentacji biblioteki Qt
Propozycje książek