Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 2471 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:

  • currentDate - zwraca obiekt QDate zawierający bieżącą datę;
  • fromJulianDay - zwraca obiekt klasy QDate zawierający datę powstałą na podstawie podanej liczby dni według kalendarza juliańskiego;
  • fromString - zwraca obiekt QDate z datą pozyskaną z tekstu na podstawie określonego formatowania
  • isLeapYear - zwraca prawdę, jeżeli podany jako argument rok jest rokiem przestępnym;
  • isValid - ta metoda zwraca prawdę, jeżeli podany rok, miesiąc i dzień jest poprawną datą;
  • longDayName - zwraca na podstawie numeru dnia jego pełną nazwę;
  • longMonthName - zwraca na podstawie numeru miesiąca jego pełną nazwę;
  • shortDayName - zwraca na podstawie numeru dnia jego skróconą nazwę;
  • shortMonthName - zwraca na podstawie numeru miesiąca jego skróconą nazwę

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:

  • day - zwraca numer dnia miesiąca (1 - [28, 29, 30 lub 31];
  • month - numer miesiąca (1 -12);
  • year - numer roku

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

  • dayOfWeak - zwraca numer dnia tygodnia przechowywanej daty oznaczający np. 1 - poniedziałek; 2 -wtorek itd.;
  • dayOfYear - zwraca numer dnia roku przechowywanej daty;

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

  • daysInMonth - zwraca liczbę dni miesiąca ustawionej w obiekcie daty;
  • daysInYear - zwraca liczbę dni roku ustawionej w obiekcie daty

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

  • addDays - dodaje dni do ustawionej daty i zwraca obiekt QDate zawierający nową datę;
  • addMonths - dodaje miesiące do ustawionej daty i zwraca obiekt QDate zawierający nową datę;
  • addYears - dodaje lata do ustawionej daty i zwraca obiekt QDate zawierający nową datę

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
Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.