QDate Class

Die Klasse QDate bietet Datumsfunktionen. Mehr...

Kopfzeile: #include <QDate>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Diese Klasse ist stark vergleichbar.

Diese Klasse ist stark vergleichbar mit std::chrono::year_month_day, std::chrono::year_month_day_last, std::chrono::year_month_weekday, und std::chrono::year_month_weekday_last.

Diese Vergleichsoperatoren sind nur bei Verwendung von C++20 verfügbar.

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

QDate()
(since 6.4) QDate(std::chrono::year_month_day date)
(since 6.4) QDate(std::chrono::year_month_day_last date)
(since 6.4) QDate(std::chrono::year_month_weekday date)
(since 6.4) QDate(std::chrono::year_month_weekday_last date)
QDate(int y, int m, int d)
QDate addDays(qint64 ndays) const
(since 6.4) QDate addDuration(std::chrono::days ndays) const
QDate addMonths(int nmonths, QCalendar cal) const
QDate addMonths(int nmonths) const
QDate addYears(int nyears, QCalendar cal) const
QDate addYears(int nyears) const
int day(QCalendar cal) const
int day() const
int dayOfWeek(QCalendar cal) const
int dayOfWeek() const
int dayOfYear(QCalendar cal) const
int dayOfYear() const
int daysInMonth(QCalendar cal) const
int daysInMonth() const
int daysInYear(QCalendar cal) const
int daysInYear() const
qint64 daysTo(QDate d) const
QDateTime endOfDay(const QTimeZone &zone) const
(since 6.5) QDateTime endOfDay() const
(until 6.9) QDateTime endOfDay(Qt::TimeSpec spec, int offsetSeconds = 0) const
void getDate(int *year, int *month, int *day) const
bool isNull() const
bool isValid() const
int month(QCalendar cal) const
int month() const
bool setDate(int year, int month, int day)
bool setDate(int year, int month, int day, QCalendar cal)
QDateTime startOfDay(const QTimeZone &zone) const
(since 6.5) QDateTime startOfDay() const
(until 6.9) QDateTime startOfDay(Qt::TimeSpec spec, int offsetSeconds = 0) const
qint64 toJulianDay() const
std::chrono::sys_days toStdSysDays() const
QString toString(QStringView format, QCalendar cal) const
QString toString(const QString &format, QCalendar cal) const
QString toString(QStringView format) const
QString toString(Qt::DateFormat format = Qt::TextDate) const
QString toString(const QString &format) const
int weekNumber(int *yearNumber = nullptr) const
int year(QCalendar cal) const
int year() const

Statische öffentliche Mitglieder

QDate currentDate()
QDate fromJulianDay(qint64 jd)
(since 6.4) QDate fromStdSysDays(const std::chrono::sys_days &days)
QDate fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)
QDate fromString(const QString &string, const QString &format, int baseYear, QCalendar cal)
(since 6.0) QDate fromString(QStringView string, Qt::DateFormat format = Qt::TextDate)
(since 6.0) QDate fromString(QStringView string, QStringView format, QCalendar cal)
(since 6.7) QDate fromString(QStringView string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear)
(since 6.0) QDate fromString(const QString &string, QStringView format, QCalendar cal)
(since 6.7) QDate fromString(const QString &string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear)
QDate fromString(const QString &string, const QString &format, QCalendar cal)
(since 6.7) QDate fromString(const QString &string, const QString &format, int baseYear = QLocale::DefaultTwoDigitBaseYear)
(since 6.7) QDate fromString(QStringView string, QStringView format, int baseYear, QCalendar cal)
(since 6.0) QDate fromString(const QString &string, QStringView format, int baseYear, QCalendar cal)
bool isLeapYear(int year)
bool isValid(int year, int month, int day)
bool operator!=(const QDate &lhs, const QDate &rhs)
bool operator<(const QDate &lhs, const QDate &rhs)
QDataStream &operator<<(QDataStream &out, QDate date)
bool operator<=(const QDate &lhs, const QDate &rhs)
bool operator==(const QDate &lhs, const QDate &rhs)
bool operator>(const QDate &lhs, const QDate &rhs)
bool operator>=(const QDate &lhs, const QDate &rhs)
QDataStream &operator>>(QDataStream &in, QDate &date)

Detaillierte Beschreibung

Ein QDate-Objekt repräsentiert einen bestimmten Tag, unabhängig von Kalender, Gebietsschema oder anderen Einstellungen, die bei seiner Erstellung verwendet oder vom System geliefert wurden. Es kann das Jahr, den Monat und den Tag des Monats melden, die den Tag in Bezug auf den proleptischen gregorianischen Kalender oder einen beliebigen Kalender, der als QCalendar Objekt geliefert wird, darstellen. QDate-Objekte sollten als Wert und nicht als Referenz auf const übergeben werden; sie verpacken einfach qint64.

Ein QDate-Objekt wird typischerweise durch explizite Angabe der Jahres-, Monats- und Tageszahlen erzeugt. Beachten Sie, dass QDate Jahreszahlen kleiner als 100 als präsentiert interpretiert, d.h. als Jahre 1 bis 99, ohne einen Offset hinzuzufügen. Die statische Funktion currentDate() erzeugt ein QDate-Objekt, das das von der Systemuhr gelesene Datum enthält. Ein explizites Datum kann auch mit setDate() gesetzt werden. Die Funktion fromString() gibt ein QDate zurück, das eine Zeichenkette und ein Datumsformat enthält, das zur Interpretation des Datums in der Zeichenkette verwendet wird.

Die Funktionen year(), month() und day() ermöglichen den Zugriff auf die Jahres-, Monats- und Tageszahlen. Wenn mehr als einer dieser Werte benötigt wird, ist es effizienter, QCalendar::partsFromDate() aufzurufen, um sich wiederholte (potenziell teure) kalendarische Berechnungen zu sparen.

Außerdem gibt es die Funktionen dayOfWeek() und dayOfYear(). Die gleichen Informationen werden im Textformat von toString() bereitgestellt. QLocale kann die Tagesnummern auf Namen abbilden, QCalendar kann Monatsnummern auf Namen abbilden.

QDate bietet einen vollständigen Satz von Operatoren, um zwei QDate-Objekte zu vergleichen, wobei kleiner früher und größer später bedeutet.

Mit addDays() können Sie ein Datum um eine bestimmte Anzahl von Tagen inkrementieren (oder dekrementieren). In ähnlicher Weise können Sie addMonths() und addYears() verwenden. Die Funktion daysTo() gibt die Anzahl der Tage zwischen zwei Daten zurück.

Die Funktionen daysInMonth() und daysInYear() geben zurück, wie viele Tage der Monat bzw. das Jahr dieses Datums hat. Die Funktion isLeapYear() gibt an, ob ein Datum in einem Schaltjahr liegt. QCalendar kann diese Information ebenfalls liefern, in einigen Fällen jedoch auf bequemere Weise.

Anmerkungen

Hinweis: Alle Konvertierungen in und aus String-Formaten erfolgen unter Verwendung des C-Locals. Für lokalisierte Konvertierungen, siehe QLocale.

Im Gregorianischen Kalender gibt es kein Jahr 0. Daten in diesem Jahr werden als ungültig betrachtet. Das Jahr -1 ist das Jahr "1 vor Christus" oder "1 vor der gemeinsamen Zeitrechnung". Der Tag vor dem 1. Januar 1 CE, QDate(1, 1, 1), ist der 31. Dezember 1 BCE, QDate(-1, 12, 31). Verschiedene andere Kalender verhalten sich ähnlich; siehe QCalendar::hasYearZero().

Bereich der gültigen Daten

Daten werden intern als julianische Tageszahl gespeichert, eine ganzzahlige Zählung aller Tage in einem zusammenhängenden Bereich, wobei der 24. November 4714 v. u. Z. im gregorianischen Kalender der julianische Tag 0 ist (1. Januar 4713 v. u. Z. im julianischen Kalender). Sie ist nicht nur eine effiziente und genaue Methode zur Speicherung eines absoluten Datums, sondern eignet sich auch für die Konvertierung eines Datums in andere Kalendersysteme wie das hebräische, islamische oder chinesische. Die Nummer des Julianischen Tages wird mit QDate::toJulianDay() ermittelt und kann mit QDate::fromJulianDay() eingestellt werden.

Der Bereich der Julianischen Tag-Nummern, die QDate darstellen kann, ist aus technischen Gründen auf den Bereich zwischen -784350574879 und 784354017364 beschränkt, also von vor 2 Milliarden v. Chr. bis nach 2 Milliarden n. Chr.. Dies ist mehr als siebenmal so groß wie der Bereich der Daten, die QDateTime darstellen kann.

Siehe auch QTime, QDateTime, QCalendar, QDateTime::YearRange, QDateEdit, QDateTimeEdit, und QCalendarWidget.

Dokumentation der Mitgliederfunktionen

[constexpr noexcept, since 6.4] QDate::QDate(std::chrono::year_month_day date)

[constexpr noexcept, since 6.4] QDate::QDate(std::chrono::year_month_day_last date)

[constexpr noexcept, since 6.4] QDate::QDate(std::chrono::year_month_weekday date)

[constexpr noexcept, since 6.4] QDate::QDate(std::chrono::year_month_weekday_last date)

Konstruiert eine QDate, die das gleiche Datum wie date darstellt. Dies ermöglicht eine einfache Interoperabilität zwischen den Kalenderklassen der Standardbibliothek und den datetime-Klassen von Qt.

Ein Beispiel:

// 23 April 2012:
QDate date = std::chrono::year_month_day(std::chrono::year(2012),
                                         std::chrono::month(4),
                                         std::chrono::day(23));

// Same, under `using std::chrono` convenience:
QDate dateWithLiterals1 = 23 / April / 2012y;
QDate dateWithLiterals2 = 2012y / April / 23;

// Last day of February 2000
QDate lastDayFeb2020 = 2000y / February / last;

// First Monday of January 2020:
QDate firstMonday = 2020y / January / Monday[0];

// Last Monday of January 2020:
QDate lastMonday = 2020y / January / Monday[last];

Hinweis: Im Gegensatz zu QDate haben std::chrono::year und die zugehörigen Klassen das Jahr Null. Das bedeutet, dass, wenn date im Jahr Null oder davor liegt, das resultierende Objekt QDate ein Jahr hat, das um eins kleiner ist als das von date angegebene.

Hinweis: Diese Funktion erfordert C++20.

Diese Funktion wurde in Qt 6.4 eingeführt.

QString QDate::toString(QStringView format, QCalendar cal) const

QString QDate::toString(const QString &format, QCalendar cal) const

Gibt das Datum als Zeichenkette zurück. Der Parameter format bestimmt das Format der Ergebniszeichenkette. Wenn cal übergeben wird, bestimmt er den Kalender, der zur Darstellung des Datums verwendet wird; der Standardwert ist Gregorianisch. Vor Qt 5.14 gab es keinen cal Parameter und der Gregorianische Kalender wurde immer verwendet.

Diese Ausdrücke können für den Parameter format verwendet werden:

AusdruckAusgabe
dDer Tag als Zahl ohne führende Null (1 bis 31)
ddDer Tag als Zahl mit einer führenden Null (01 bis 31)
dddDer abgekürzte Tagesname ("Mon" bis "Sun").
ddddDer lange Tagesname ("Montag" bis "Sonntag").
MDer Monat als Zahl ohne führende Null (1 bis 12)
MMDer Monat als Zahl mit einer führenden Null (01 bis 12)
MMMDer abgekürzte Monatsname ("Jan" bis "Dez").
MMMMDer lange Monatsname ("Januar" bis "Dezember").
jjDas Jahr als zweistellige Zahl (00 bis 99)
jjjjDas Jahr als vierstellige Zahl. Ist die Jahreszahl negativ, wird ein Minuszeichen vorangestellt, was fünf Zeichen ergibt.

Jede in einfache Anführungszeichen eingeschlossene Zeichenfolge wird wortwörtlich in die Ausgabezeichenfolge aufgenommen (ohne Anführungszeichen), auch wenn sie Formatierungszeichen enthält. Zwei aufeinanderfolgende einfache Anführungszeichen ("''") werden in der Ausgabe durch ein einfaches Anführungszeichen ersetzt. Alle anderen Zeichen in der Formatzeichenfolge werden wortwörtlich in die Ausgabezeichenfolge übernommen.

Formate ohne Trennzeichen (z. B. "ddMM") werden unterstützt, müssen aber mit Vorsicht verwendet werden, da die resultierenden Zeichenketten nicht immer zuverlässig lesbar sind (wenn z. B. "dM" "212" ergibt, könnte dies entweder den 2. Dezember oder den 21. Februar bedeuten).

Beispiel für formatierte Zeichenfolgen (unter der Annahme, dass QDate der 20. Juli 1969 ist):

FormatErgebnis
tt.MM.jjjj20.07.1969
tt.MM.MM.jjjSonne Juli 20 69
Der Tag ist" ddddDer Tag ist Sonntag

Wenn die Datumsangabe ungültig ist, wird eine leere Zeichenkette zurückgegeben.

Hinweis: Tages- und Monatsnamen werden in Englisch angegeben (C-Locale). Um lokalisierte Monats- und Tagesnamen zu erhalten, verwenden Sie QLocale::system().toString().

Hinweis: Wenn ein Formatzeichen öfter wiederholt wird als der längste Ausdruck in der obigen Tabelle, wird dieser Teil des Formats als mehrere Ausdrücke ohne Trennzeichen dazwischen gelesen; der längste oben, möglicherweise so oft wiederholt, wie es Kopien davon gibt, endet mit einem Rest, der ein kürzerer Ausdruck sein kann. So wird 'MMMMMMMMMM' für ein Datum im Mai "MayMay05" zur Ausgabe beitragen.

Siehe auch fromString(), QDateTime::toString(), QTime::toString(), und QLocale::toString().

[constexpr] QDate::QDate()

Konstruiert ein Null-Datum. Null-Datumsangaben sind ungültig.

Siehe auch isNull() und isValid().

QDate::QDate(int y, int m, int d)

Konstruiert ein Datum mit Jahr y, Monat m und Tag d.

Das Datum wird im Sinne des Gregorianischen Kalenders verstanden. Wenn das angegebene Datum ungültig ist, wird das Datum nicht gesetzt und isValid() gibt false zurück.

Achtung! Die Jahre 1 bis 99 werden so interpretiert, wie sie sind. Das Jahr 0 ist ungültig.

Siehe auch isValid() und QCalendar::dateFromParts().

QDate QDate::addDays(qint64 ndays) const

Gibt ein QDate Objekt zurück, das ein Datum ndays enthält, das später als das Datum dieses Objekts ist (oder früher, wenn ndays negativ ist).

Gibt ein Null-Datum zurück, wenn das aktuelle Datum ungültig ist oder das neue Datum außerhalb des Bereichs liegt.

Siehe auch addMonths(), addYears(), und daysTo().

[since 6.4] QDate QDate::addDuration(std::chrono::days ndays) const

Gibt ein QDate Objekt zurück, das ein Datum ndays enthält, das später als das Datum dieses Objekts ist (oder früher, wenn ndays negativ ist).

Gibt ein Null-Datum zurück, wenn das aktuelle Datum ungültig ist oder das neue Datum außerhalb des Bereichs liegt.

Hinweis: Das Hinzufügen von Zeiträumen, die in std::chrono::months oder std::chrono::years ausgedrückt sind, führt nicht zu demselben Ergebnis, das durch die Verwendung von addMonths() oder addYears() erzielt wird. Erstere sind feste Zeiträume, die in Bezug auf das Sonnenjahr berechnet werden; letztere verwenden die gregorianischen Kalenderdefinitionen von Monaten/Jahren.

Hinweis: Diese Funktion erfordert C++20.

Diese Funktion wurde in Qt 6.4 eingeführt.

Siehe auch addMonths(), addYears(), und daysTo().

QDate QDate::addMonths(int nmonths, QCalendar cal) const

Gibt ein QDate Objekt zurück, das ein Datum nmonths enthält, das später als das Datum dieses Objekts liegt (oder früher, wenn nmonths negativ ist).

Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender.

Hinweis: Wenn die Endtag/Monat-Kombination im resultierenden Monat/Jahr nicht vorhanden ist, gibt diese Funktion ein Datum zurück, das das späteste gültige Datum im ausgewählten Monat ist.

Siehe auch addDays() und addYears().

QDate QDate::addMonths(int nmonths) const

Dies ist eine überladene Funktion.

QDate QDate::addYears(int nyears, QCalendar cal) const

Gibt ein QDate Objekt zurück, das ein Datum nyears enthält, das später als das Datum dieses Objekts liegt (oder früher, wenn nyears negativ ist).

Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender.

Hinweis: Wenn die Endtag/Monat-Kombination im resultierenden Jahr nicht existiert (z. B. für den Gregorianischen Kalender, wenn das Datum der 29. Februar war und das letzte Jahr kein Schaltjahr ist), gibt diese Funktion ein Datum zurück, das das späteste gültige Datum im angegebenen Monat ist (im Beispiel der 28. Februar).

Siehe auch addDays() und addMonths().

QDate QDate::addYears(int nyears) const

Dies ist eine überladene Funktion.

[static] QDate QDate::currentDate()

Gibt das aktuelle Datum der Systemuhr zurück.

Siehe auch QTime::currentTime() und QDateTime::currentDateTime().

int QDate::day(QCalendar cal) const

Gibt den Tag des Monats für dieses Datum zurück.

Verwendet cal als Kalender, falls angegeben, ansonsten den gregorianischen Kalender (für den die Rückgabe von 1 bis 31 reicht). Gibt 0 zurück, wenn das Datum ungültig ist.

Siehe auch year(), month(), dayOfWeek(), und QCalendar::partsFromDate().

int QDate::day() const

Dies ist eine überladene Funktion.

int QDate::dayOfWeek(QCalendar cal) const

Gibt den Wochentag (1 = Montag bis 7 = Sonntag) für dieses Datum zurück.

Verwendet cal als Kalender, falls angegeben, sonst den Gregorianischen Kalender. Gibt 0 zurück, wenn das Datum ungültig ist. Manche Kalender geben Werten größer als 7 eine besondere Bedeutung (z. B. interkalendarische Tage).

Siehe auch day(), dayOfYear(), QCalendar::dayOfWeek(), und Qt::DayOfWeek.

int QDate::dayOfWeek() const

Dies ist eine überladene Funktion.

int QDate::dayOfYear(QCalendar cal) const

Gibt den Tag des Jahres (1 für den ersten Tag) für dieses Datum zurück.

Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender. Gibt 0 zurück, wenn entweder das Datum oder der erste Tag seines Jahres ungültig ist.

Siehe auch day(), dayOfWeek(), und QCalendar::daysInYear().

int QDate::dayOfYear() const

Dies ist eine überladene Funktion.

int QDate::daysInMonth(QCalendar cal) const

Gibt die Anzahl der Tage im Monat für dieses Datum zurück.

Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender (für den das Ergebnis zwischen 28 und 31 liegt). Gibt 0 zurück, wenn das Datum ungültig ist.

Siehe auch day(), daysInYear(), QCalendar::daysInMonth(), QCalendar::maximumDaysInMonth(), und QCalendar::minimumDaysInMonth().

int QDate::daysInMonth() const

Dies ist eine überladene Funktion.

int QDate::daysInYear(QCalendar cal) const

Gibt die Anzahl der Tage im Jahr für dieses Datum zurück.

Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender (für den das Ergebnis 365 oder 366 ist). Gibt 0 zurück, wenn das Datum ungültig ist.

Siehe auch day(), daysInMonth(), QCalendar::daysInYear(), und QCalendar::maximumMonthsInYear().

int QDate::daysInYear() const

Dies ist eine überladene Funktion.

qint64 QDate::daysTo(QDate d) const

Gibt die Anzahl der Tage von diesem Datum bis d zurück (negativ, wenn d vor diesem Datum liegt).

Gibt 0 zurück, wenn ein Datum ungültig ist.

Beispiel:

QDate d1(1995, 5, 17);  // May 17, 1995
QDate d2(1995, 5, 20);  // May 20, 1995
d1.daysTo(d2);          // returns 3
d2.daysTo(d1);          // returns -3

Siehe auch addDays().

QDateTime QDate::endOfDay(const QTimeZone &zone) const

Gibt den Endzeitpunkt des Tages zurück.

Wann ein Tag endet, hängt davon ab, wie die Zeit beschrieben wird: Jeder Tag beginnt und endet früher für diejenigen in Zeitzonen weiter westlich und später für diejenigen in Zeitzonen weiter östlich. Die zu verwendende Zeitdarstellung kann durch eine optionale Zeit zone angegeben werden. Die Standardzeitdarstellung ist die Ortszeit des Systems.

Normalerweise ist das Ende des Tages eine Millisekunde vor Mitternacht, 24:00 Uhr: Wenn jedoch ein Zeitzonenwechsel dazu führt, dass das angegebene Datum diesen Zeitpunkt überspringt (z. B. eine Sommerzeitumstellung, die 23:00 Uhr und die folgende Stunde überspringt), wird die tatsächliche späteste Zeit des Tages zurückgegeben. Dies kann nur vorkommen, wenn die Zeitdarstellung eine Zeitzone oder Ortszeit ist.

Wenn zone eine timeSpec() von Qt::OffsetFromUTC oder Qt::UTC hat, hat die Zeitdarstellung keine Übergänge, so dass das Ende des Tages QTime(23, 59, 59, 999) ist.

In dem seltenen Fall, dass ein Datum komplett übersprungen wurde (dies geschieht, wenn eine Zone östlich der internationalen Datumsgrenze zu einer Zone westlich davon wechselt), ist die Rückgabe ungültig. Die Übergabe einer ungültigen Zeitzone als zone führt ebenfalls zu einem ungültigen Ergebnis, ebenso wie Datumsangaben, die außerhalb des durch QDateTime darstellbaren Bereichs enden.

Siehe auch startOfDay().

[since 6.5] QDateTime QDate::endOfDay() const

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.5 eingeführt.

[until 6.9] QDateTime QDate::endOfDay(Qt::TimeSpec spec, int offsetSeconds = 0) const

Diese Funktion soll in Version 6.9 veraltet sein.

Dies ist eine überladene Funktion.

Verwenden Sie endOfDay(const QTimeZone &) instead. Returns the end-moment of the day. When a day ends depends on a how time is described: each day starts and ends earlier for those with higher offsets from UTC and later for those with lower offsets from UTC. The time representation to use can be specified either by a \a spec and \a offsetSeconds (ignored unless \a spec is Qt::OffsetSeconds) or by a time zone. Usually, the end of the day is one millisecond before the midnight, 24:00: however, if a local time transition causes the given date to skip over that moment (e.g. a DST spring-forward skipping over 23:00 and the following hour), the actual latest time in the day is returned. When \a spec is Qt::OffsetFromUTC, \a offsetSeconds gives the implied zone's offset from UTC. As UTC and such zones have no transitions, the end of the day is QTime(23, 59, 59, 999) in these cases. In the rare case of a date that was entirely skipped (this happens when a zone east of the international date-line switches to being west of it), the return shall be invalid. Passing Qt::TimeZone as \a spec (instead of passing a QTimeZone) will also produce an invalid result, as shall dates that end outside the range representable by QDateTime.

[static constexpr] QDate QDate::fromJulianDay(qint64 jd)

Konvertiert den julianischen Tag jd in ein QDate.

Siehe auch toJulianDay().

[static constexpr noexcept, since 6.4] QDate QDate::fromStdSysDays(const std::chrono::sys_days &days)

Gibt ein QDate days Tage nach dem 1. Januar 1970 (der UNIX-Epoche) zurück. Wenn days negativ ist, liegt das zurückgegebene Datum vor der Epoche.

Hinweis: Diese Funktion erfordert C++20.

Diese Funktion wurde in Qt 6.4 eingeführt.

Siehe auch toStdSysDays().

[static] QDate QDate::fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)

Gibt das QDate zurück, das durch string repräsentiert wird, wobei die angegebene format verwendet wird, oder ein ungültiges Datum, wenn die Zeichenkette nicht geparst werden kann.

Hinweis für Qt::TextDate: Nur englische Monatsnamen (z. B. "Jan" in der Kurzform oder "January" in der Langform) werden erkannt.

Siehe auch toString() und QLocale::toDate().

[static] QDate QDate::fromString(const QString &string, const QString &format, int baseYear, QCalendar cal)

Gibt das QDate zurück, das durch string repräsentiert wird, unter Verwendung des angegebenen format, oder ein ungültiges Datum, wenn die Zeichenkette nicht geparst werden kann.

Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender. Die Wertebereiche in den nachfolgenden Formatbeschreibungen beziehen sich auf letzteren; sie können für andere Kalender unterschiedlich sein.

Diese Ausdrücke können für das Format verwendet werden:

AusdruckAusgabe
dDer Tag als Zahl ohne führende Null (1 bis 31)
ddDer Tag als Zahl mit einer führenden Null (01 bis 31)
dddDer abgekürzte Tagesname ("Mon" bis "Sun").
ddddDer lange Tagesname ("Montag" bis "Sonntag").
MDer Monat als Zahl ohne führende Null (1 bis 12)
MMDer Monat als Zahl mit einer führenden Null (01 bis 12)
MMMDer abgekürzte Monatsname ("Jan" bis "Dez").
MMMMDer lange Monatsname ("Januar" bis "Dezember").
jjDas Jahr als zweistellige Zahl (00 bis 99)
jjjjDas Jahr als vierstellige Zahl, eventuell mit einem führenden Minuszeichen für negative Jahre.

Hinweis: Tages- und Monatsnamen müssen in Englisch angegeben werden (Gebietsschema C). Wenn lokalisierte Monats- und Tagesnamen erkannt werden sollen, verwenden Sie QLocale::system().toDate().

Alle anderen Eingabezeichen werden als Text behandelt. Jede nicht leere Folge von Zeichen, die in einfache Anführungszeichen eingeschlossen sind, wird ebenfalls als Text behandelt (ohne Anführungszeichen) und nicht als Ausdruck interpretiert. Ein Beispiel:

QDate date = QDate::fromString("1MM12car2003", "d'MM'MMcaryyyy");
// date is 1 December 2003

Wenn das Format nicht erfüllt ist, wird ein ungültiger QDate zurückgegeben. Die Ausdrücke, die keine führenden Nullen erwarten (d, M), sind gierig. Das bedeutet, dass sie zwei Ziffern verwenden, auch wenn sie dadurch außerhalb des akzeptierten Wertebereichs liegen und zu wenige Ziffern für andere Abschnitte übrig bleiben. Die folgende Formatzeichenfolge könnte zum Beispiel 30. Januar bedeuten, aber das M nimmt zwei Ziffern, was zu einem ungültigen Datum führt:

QDate date = QDate::fromString("130", "Md"); // invalid

Für jedes Feld, das nicht im Format dargestellt ist, werden die folgenden Standardwerte verwendet:

FeldStandardwert
JahrbaseYear (oder 1900)
Monat1 (Januar)
Tag1

Wenn format nur die letzten beiden Ziffern einer Jahreszahl angibt, werden die 100 Jahre, die mit baseYear beginnen, als erstes in Betracht gezogen. Vor der Version 6.7 gab es keinen Parameter baseYear und es wurde immer 1900 verwendet. Dies ist die Vorgabe für baseYear, die ein Jahr von damals bis 1999 auswählt. Die Übergabe von 1976 als baseYear wählt zum Beispiel ein Jahr von 1976 bis 2075. Wenn das Format auch Monat, Tag (des Monats) und Wochentag enthält, reicht dies aus, um das Jahrhundert zu bestimmen. In einem solchen Fall wird ein passendes Datum im nächstgelegenen Jahrhundert zu dem von baseYear angegebenen ausgewählt, wobei das spätere dem früheren vorgezogen wird. Siehe QCalendar::matchCenturyToWeekday() und Date ambiguities für weitere Einzelheiten,

Die folgenden Beispiele zeigen die Standardwerte:

QDate::fromString("1.30", "M.d");           // January 30 1900
QDate::fromString("20000110", "yyyyMMdd");  // January 10, 2000
QDate::fromString("20000110", "yyyyMd");    // January 10, 2000

Hinweis: Wenn ein Formatzeichen öfter wiederholt wird als der längste Ausdruck in der obigen Tabelle, wird dieser Teil des Formats als mehrere Ausdrücke ohne Trennzeichen zwischen ihnen gelesen; der längste oben, möglicherweise so oft wiederholt, wie es Kopien davon gibt, endet mit einem Rest, der ein kürzerer Ausdruck sein kann. So würde 'MMMMMMMMMM' mit "MayMay05" übereinstimmen und den Monat auf Mai setzen. Ebenso würde 'MMMMMM' mit "May08" übereinstimmen und es als inkonsistent empfinden, was zu einem ungültigen Datum führt.

Mehrdeutigkeiten bei Datumsangaben

In verschiedenen Kulturen werden unterschiedliche Datumsformate verwendet, was dazu führen kann, dass die Benutzer die Reihenfolge der Datumsfelder durcheinander bringen. Zum Beispiel könnte "Wed 28-Nov-01" entweder den 1. November 2028 oder den 28. November 2001 bedeuten (was jeweils auf einen Mittwoch fällt). Bei Verwendung des Formats "ddd yy-MMM-dd" wird es auf die erste Weise interpretiert, bei "ddd dd-MMM-yy" auf die zweite. Was der Benutzer meint, kann jedoch von der Art und Weise abhängen, wie der Benutzer normalerweise Daten schreibt, und nicht von dem Format, das der Code erwartet.

Im obigen Beispiel wurden der Tag des Monats und eine zweistellige Jahreszahl verwechselt. Ähnliche Verwirrung kann durch die Verwechslung von Monat und Tag des Monats entstehen, wenn beide als Zahlen angegeben werden. In diesen Fällen kann die Aufnahme eines Feldes für den Wochentag in das Datumsformat eine gewisse Redundanz bieten, die helfen kann, Fehler dieser Art zu erkennen. Wie im obigen Beispiel ist dies jedoch nicht immer effektiv: Die Vertauschung zweier Felder (oder ihrer Bedeutungen) kann zu Daten mit demselben Wochentag führen.

Die Aufnahme eines Wochentags in das Format kann auch das Jahrhundert eines Datums auflösen, das nur mit den letzten beiden Ziffern des Jahres angegeben wurde. Leider kann diese Auflösung in Kombination mit einem Datum, bei dem der Benutzer (oder eine andere Datenquelle) zwei Felder verwechselt hat, dazu führen, dass ein Datum gefunden wird, das zwar mit der Lesart des Formats übereinstimmt, aber nicht die vom Autor beabsichtigte ist. Wenn der Benutzer bei einem ansonsten korrekten Datum einfach den Wochentag falsch angibt, kann dies zu einem Datum in einem anderen Jahrhundert führen. In jedem Fall kann die Suche nach einem Datum in einem anderen Jahrhundert ein falsch eingegebenes Datum in ein völlig anderes verwandeln.

Der beste Weg, um Datumsmehrdeutigkeiten zu vermeiden, ist die Verwendung von vierstelligen Jahres- und Monatsnamen (vollständig oder abgekürzt), die idealerweise über Benutzeroberflächen-Idiome erfasst werden, die dem Benutzer deutlich machen, welchen Teil des Datums er auswählt. Die Angabe des Wochentags kann ebenfalls hilfreich sein, da sie die Möglichkeit bietet, die Konsistenz der Daten zu überprüfen. Wenn die Daten vom Benutzer stammen und ein Format verwendet wird, das von einem vom Benutzer ausgewählten Gebietsschema geliefert wird, ist es am besten, ein langes Format zu verwenden, da bei kurzen Formaten eher zweistellige Jahreszahlen verwendet werden. Natürlich ist es nicht immer möglich, das Format zu kontrollieren - die Daten können zum Beispiel aus einer Quelle stammen, die Sie nicht kontrollieren.

Aufgrund dieser möglichen Verwirrungsquellen, insbesondere wenn Sie nicht sicher sein können, dass ein eindeutiges Format verwendet wird, ist es wichtig zu prüfen, ob das Ergebnis des Lesens einer Zeichenkette als Datum nicht nur gültig, sondern auch für den Zweck, für den es geliefert wurde, angemessen ist. Liegt das Ergebnis außerhalb eines vernünftigen Wertebereichs, kann es sich lohnen, den Benutzer aufzufordern, seine Datumsauswahl zu bestätigen und das aus der Zeichenkette gelesene Datum in einem langen Format anzuzeigen, das den Monatsnamen und die vierstellige Jahreszahl enthält, damit der Benutzer eventuelle Fehler leichter erkennen kann.

Siehe auch toString(), QDateTime::fromString(), QTime::fromString(), und QLocale::toDate().

[static, since 6.0] QDate QDate::fromString(QStringView string, Qt::DateFormat format = Qt::TextDate)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.0 eingeführt.

[static, since 6.0] QDate QDate::fromString(QStringView string, QStringView format, QCalendar cal)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.0 eingeführt.

[static, since 6.7] QDate QDate::fromString(QStringView string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear)

Dies ist eine überladene Funktion.

Verwendet eine standardmäßig konstruierte QCalendar.

Diese Funktion wurde in Qt 6.7 eingeführt.

[static, since 6.0] QDate QDate::fromString(const QString &string, QStringView format, QCalendar cal)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.0 eingeführt.

[static, since 6.7] QDate QDate::fromString(const QString &string, QStringView format, int baseYear = QLocale::DefaultTwoDigitBaseYear)

Dies ist eine überladene Funktion.

Verwendet eine standardmäßig konstruierte QCalendar.

Diese Funktion wurde in Qt 6.7 eingeführt.

[static] QDate QDate::fromString(const QString &string, const QString &format, QCalendar cal)

Dies ist eine überladene Funktion.

[static, since 6.7] QDate QDate::fromString(const QString &string, const QString &format, int baseYear = QLocale::DefaultTwoDigitBaseYear)

Dies ist eine überladene Funktion.

Verwendet eine standardmäßig konstruierte QCalendar.

Diese Funktion wurde in Qt 6.7 eingeführt.

[static, since 6.7] QDate QDate::fromString(QStringView string, QStringView format, int baseYear, QCalendar cal)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.7 eingeführt.

[static, since 6.0] QDate QDate::fromString(const QString &string, QStringView format, int baseYear, QCalendar cal)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.0 eingeführt.

void QDate::getDate(int *year, int *month, int *day) const

Extrahiert das Jahr, den Monat und den Tag des Datums und ordnet sie *year, *month und *day zu. Die Zeiger können null sein.

Gibt 0 zurück, wenn das Datum ungültig ist.

Hinweis: In Qt-Versionen vor 5.7 ist diese Funktion als nichtconst gekennzeichnet.

Siehe auch year(), month(), day(), isValid(), und QCalendar::partsFromDate().

[static] bool QDate::isLeapYear(int year)

Gibt true zurück, wenn das angegebene year ein Schaltjahr im Gregorianischen Kalender ist; andernfalls wird false zurückgegeben.

Siehe auch QCalendar::isLeapYear().

[constexpr] bool QDate::isNull() const

Gibt true zurück, wenn das Datum ungültig ist; andernfalls wird false zurückgegeben. Ein ungültiges Datum ist ungültig.

Hinweis: Das Verhalten dieser Funktion entspricht dem von isValid().

Siehe auch isValid().

[constexpr] bool QDate::isValid() const

Gibt true zurück, wenn dieses Datum gültig ist; andernfalls wird false zurückgegeben.

Siehe auch isNull() und QCalendar::isDateValid().

[static] bool QDate::isValid(int year, int month, int day)

Dies ist eine überladene Funktion.

Gibt true zurück, wenn das angegebene Datum (year, month und day) im Gregorianischen Kalender gültig ist; andernfalls gibt sie false zurück.

Beispiel:

QDate::isValid(2002, 5, 17);  // true
QDate::isValid(2002, 2, 30);  // false (Feb 30 does not exist)
QDate::isValid(2004, 2, 29);  // true (2004 is a leap year)
QDate::isValid(2000, 2, 29);  // true (2000 is a leap year)
QDate::isValid(2006, 2, 29);  // false (2006 is not a leap year)
QDate::isValid(2100, 2, 29);  // false (2100 is not a leap year)
QDate::isValid(1202, 6, 6);   // true (even though 1202 is pre-Gregorian)

Siehe auch isNull(), setDate(), und QCalendar::isDateValid().

int QDate::month(QCalendar cal) const

Gibt die Monatsnummer für das Datum zurück.

Nummeriert die Monate des Jahres, beginnend mit 1 für den ersten Monat. Verwendet cal als Kalender, falls angegeben, ansonsten den Gregorianischen Kalender, für den die Monatsnummerierung wie folgt lautet:

  • 1 = "Januar"
  • 2 = "Februar"
  • 3 = "März"
  • 4 = "April"
  • 5 = "Mai"
  • 6 = "Juni"
  • 7 = "Juli"
  • 8 = "August"
  • 9 = "September"
  • 10 = "Oktober"
  • 11 = "November"
  • 12 = "Dezember"

Gibt 0 zurück, wenn das Datum ungültig ist. Beachten Sie, dass einige Kalender in manchen Jahren mehr als 12 Monate haben können.

Siehe auch year(), day(), und QCalendar::partsFromDate().

int QDate::month() const

Dies ist eine überladene Funktion.

bool QDate::setDate(int year, int month, int day)

Stellt dies so ein, dass es das Datum im Gregorianischen Kalender mit den angegebenen Zahlen year, month und day darstellt. Gibt true zurück, wenn das resultierende Datum gültig ist, andernfalls wird this so gesetzt, dass es ein ungültiges Datum darstellt und false zurückgegeben.

Siehe auch isValid() und QCalendar::dateFromParts().

bool QDate::setDate(int year, int month, int day, QCalendar cal)

Stellt dies so ein, dass es das Datum im angegebenen Kalender cal mit den angegebenen Zahlen year, month und day darstellt. Gibt true zurück, wenn das resultierende Datum gültig ist, andernfalls wird this so gesetzt, dass es ein ungültiges Datum darstellt und false zurückgegeben.

Siehe auch isValid() und QCalendar::dateFromParts().

QDateTime QDate::startOfDay(const QTimeZone &zone) const

Gibt den Startzeitpunkt des Tages zurück.

Wann ein Tag beginnt, hängt davon ab, wie die Zeit beschrieben wird: Jeder Tag beginnt und endet früher für diejenigen in Zeitzonen weiter westlich und später für diejenigen in Zeitzonen weiter östlich. Die zu verwendende Zeitdarstellung kann durch eine optionale Zeit zone angegeben werden. Die Standardzeitdarstellung ist die Ortszeit des Systems.

Normalerweise ist der Beginn des Tages Mitternacht, 00:00 Uhr: Wenn jedoch ein Zeitzonenwechsel dazu führt, dass das angegebene Datum diese Mitternacht überspringt (z. B. eine Sommerzeitumstellung, die die erste Stunde des Tages überspringt), wird die tatsächlich früheste Zeit des Tages zurückgegeben. Dies kann nur auftreten, wenn die Zeitdarstellung eine Zeitzone oder eine Ortszeit ist.

Wenn zone eine timeSpec() von Qt::OffsetFromUTC oder Qt::UTC hat, hat die Zeitdarstellung keine Übergänge, so dass der Beginn des Tages QTime(0, 0) ist.

In dem seltenen Fall, dass ein Datum vollständig übersprungen wurde (dies geschieht, wenn eine Zone östlich der internationalen Datumsgrenze zu einer Zone westlich davon wechselt), ist die Rückgabe ungültig. Die Übergabe einer ungültigen Zeitzone als zone führt ebenfalls zu einem ungültigen Ergebnis, ebenso wie Daten, die außerhalb des durch QDateTime darstellbaren Bereichs beginnen.

Siehe auch endOfDay().

[since 6.5] QDateTime QDate::startOfDay() const

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.5 eingeführt.

[until 6.9] QDateTime QDate::startOfDay(Qt::TimeSpec spec, int offsetSeconds = 0) const

Diese Funktion soll in Version 6.9 veraltet sein.

Dies ist eine überladene Funktion.

Verwenden Sie stattdessen startOfDay(const QTimeZone &).

Gibt den Startzeitpunkt des Tages zurück.

Wann ein Tag beginnt, hängt davon ab, wie die Zeit beschrieben wird: Jeder Tag beginnt und endet früher für diejenigen mit einer größeren Abweichung von der UTC und später für diejenigen mit einer geringeren Abweichung von der UTC. Die zu verwendende Zeitdarstellung kann entweder durch spec und offsetSeconds (wird ignoriert, wenn spec nicht Qt::OffsetSeconds ist) oder durch eine Zeitzone angegeben werden.

Normalerweise ist der Beginn des Tages Mitternacht, 00:00: wenn jedoch ein lokaler Zeitsprung dazu führt, dass das angegebene Datum diese Mitternacht überspringt (z.B. ein DST-Frühjahrsvorlauf, der die erste Stunde des Tages überspringt), wird die tatsächlich früheste Zeit des Tages zurückgegeben.

Wenn spec gleich Qt::OffsetFromUTC ist, gibt offsetSeconds eine implizite Abweichung der Zone von UTC an. Da UTC und solche Zonen keine Übergänge haben, ist der Tagesbeginn in diesen Fällen QTime(0, 0).

In dem seltenen Fall, dass ein Datum komplett übersprungen wurde (dies geschieht, wenn eine Zone östlich der internationalen Datumsgrenze zu einer Zone westlich davon wechselt), ist die Rückgabe ungültig. Die Übergabe von Qt::TimeZone als spec (statt der Übergabe von QTimeZone) führt ebenfalls zu einem ungültigen Ergebnis, ebenso wie Daten, die außerhalb des durch QDateTime darstellbaren Bereichs beginnen.

[constexpr] qint64 QDate::toJulianDay() const

Konvertiert das Datum in einen julianischen Tag.

Siehe auch fromJulianDay().

[constexpr noexcept] std::chrono::sys_days QDate::toStdSysDays() const

Gibt die Anzahl der Tage zwischen dem 1. Januar 1970 (der UNIX-Epoche) und diesem Datum zurück, dargestellt als std::chrono::sys_days Objekt. Wenn dieses Datum vor der Epoche liegt, ist die Anzahl der Tage negativ.

Hinweis: Für diese Funktion ist C++20 erforderlich.

Siehe auch fromStdSysDays() und daysTo().

QString QDate::toString(QStringView format) const

Dies ist eine überladene Funktion.

QString QDate::toString(Qt::DateFormat format = Qt::TextDate) const

Dies ist eine überladene Funktion.

Gibt das Datum als Zeichenkette zurück. Der Parameter format bestimmt das Format des Strings.

Wenn format den Wert Qt::TextDate hat, wird die Zeichenkette in der Standardform formatiert. Die Tages- und Monatsnamen sind dann in Englisch. Ein Beispiel für diese Formatierung ist "Sat May 20 1995". Für eine lokalisierte Formatierung siehe QLocale::toString().

Wenn format Qt::ISODate ist, entspricht das Format der Zeichenkette der erweiterten Spezifikation von ISO 8601 für die Darstellung von Datums- und Zeitangaben in der Form yyyy-MM-dd, wobei yyyy für das Jahr, MM für den Monat des Jahres (zwischen 01 und 12) und dd für den Tag des Monats zwischen 01 und 31 steht.

Wenn format Qt::RFC2822Date ist, wird die Zeichenkette in einer RFC 2822-kompatiblen Weise formatiert. Ein Beispiel für diese Formatierung ist "20. Mai 1995".

Wenn das Datum ungültig ist, wird eine leere Zeichenkette zurückgegeben.

Warnung: Das Format Qt::ISODate ist nur für Jahre im Bereich von 0 bis 9999 gültig.

Siehe auch fromString() und QLocale::toString().

QString QDate::toString(const QString &format) const

Dies ist eine überladene Funktion.

int QDate::weekNumber(int *yearNumber = nullptr) const

Gibt die ISO 8601-Wochennummer (1 bis 53) zurück.

Gibt 0 zurück, wenn das Datum ungültig ist. Andernfalls wird die Wochennummer für das Datum zurückgegeben. Wenn yearNumber nicht nullptr ist (Standardeinstellung), wird das Jahr als *yearNumber gespeichert.

Gemäß ISO 8601 fällt jede Woche in das Jahr, zu dem die meisten ihrer Tage gehören, im Gregorianischen Kalender. Da die Woche nach ISO 8601 am Montag beginnt, ist dies das Jahr, in das der Donnerstag der Woche fällt. Die meisten Jahre haben 52 Wochen, aber einige haben 53.

Hinweis: *yearNumber ist nicht immer identisch mit year(). Zum Beispiel hat der 1. Januar 2000 die Woche Nummer 52 im Jahr 1999, und der 31. Dezember 2002 hat die Woche Nummer 1 im Jahr 2003.

Siehe auch isValid().

int QDate::year(QCalendar cal) const

Gibt das Jahr dieses Datums zurück.

Verwendet cal als Kalender, falls angegeben, sonst den Gregorianischen Kalender.

Gibt 0 zurück, wenn das Datum ungültig ist. Bei einigen Kalendern können alle Daten vor ihrem ersten Jahr ungültig sein.

Wenn Sie einen Kalender verwenden, der ein Jahr 0 hat, prüfen Sie mit isValid(), ob der Rückgabewert 0 ist. Solche Kalender verwenden negative Jahreszahlen in der offensichtlichen Weise, wobei dem Jahr 1 das Jahr 0 vorausgeht, dem wiederum das Jahr -1 vorausgeht und so weiter.

Einige Kalender haben zwar kein Jahr 0, dafür aber eine konventionelle Nummerierung der Jahre vor dem ersten Jahr, wobei von 1 an rückwärts gezählt wird. Im proleptischen gregorianischen Kalender beispielsweise werden die aufeinander folgenden Jahre vor 1 CE (dem ersten Jahr) als 1 BCE, 2 BCE, 3 BCE usw. bezeichnet. In solchen Kalendern werden negative Jahreszahlen verwendet, um diese Jahre vor dem Jahr 1 zu kennzeichnen, wobei -1 das Jahr vor 1 angibt.

Siehe auch month(), day(), QCalendar::hasYearZero(), QCalendar::isProleptic(), und QCalendar::partsFromDate().

int QDate::year() const

Dies ist eine überladene Funktion.

Verwandte Nicht-Mitglieder

[constexpr noexcept] bool operator!=(const QDate &lhs, const QDate &rhs)

Gibt true zurück, wenn lhs und rhs unterschiedliche Tage darstellen; andernfalls wird false zurückgegeben.

Siehe auch operator==().

[constexpr noexcept] bool operator<(const QDate &lhs, const QDate &rhs)

Gibt true zurück, wenn lhs vor rhs liegt; andernfalls wird false zurückgegeben.

QDataStream &operator<<(QDataStream &out, QDate date)

Schreibt die date in den Stream out.

Siehe auch Serialisierung von Qt-Datentypen.

[constexpr noexcept] bool operator<=(const QDate &lhs, const QDate &rhs)

Gibt true zurück, wenn lhs kleiner oder gleich rhs ist; andernfalls wird false zurückgegeben.

[constexpr noexcept] bool operator==(const QDate &lhs, const QDate &rhs)

Gibt true zurück, wenn lhs und rhs denselben Tag darstellen, andernfalls false.

[constexpr noexcept] bool operator>(const QDate &lhs, const QDate &rhs)

Gibt true zurück, wenn lhs später als rhs ist; andernfalls wird false zurückgegeben.

[constexpr noexcept] bool operator>=(const QDate &lhs, const QDate &rhs)

Gibt true zurück, wenn lhs später als oder gleich rhs ist; andernfalls wird false zurückgegeben.

QDataStream &operator>>(QDataStream &in, QDate &date)

Liest ein Datum aus stream in in die date.

Siehe auch Serialisierung von Qt-Datentypen.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.