QTimeZone Class
QTimeZone gibt an, in welchem Verhältnis eine Zeitangabe zur UTC steht. Mehr dazu...
| Kopfzeile: | #include <QTimeZone> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Hinweis: Alle Funktionen dieser Klasse sind threadsicher.
QTimeZone-Vergleiche
| Kategorie | Vergleichbare Typen |
|---|---|
| Gleichheit | QTimeZone |
Öffentliche Typen
| struct | OffsetData |
(since 6.5) enum | Initialization { LocalTime, UTC } |
| enum | NameType { DefaultName, LongName, ShortName, OffsetName } |
| OffsetDataList | |
| enum | TimeType { StandardTime, DaylightTime, GenericTime } |
Öffentliche Funktionen
| QTimeZone() | |
(since 6.5) | QTimeZone(QTimeZone::Initialization spec) |
| QTimeZone(const QByteArray &ianaId) | |
| QTimeZone(int offsetSeconds) | |
| QTimeZone(const QByteArray &zoneId, int offsetSeconds, const QString &name, const QString &abbreviation, QLocale::Territory territory = QLocale::AnyTerritory, const QString &comment = QString()) | |
| QTimeZone(const QTimeZone &other) | |
| QTimeZone(QTimeZone &&other) | |
| ~QTimeZone() | |
| QString | abbreviation(const QDateTime &atDateTime) const |
(since 6.5) QTimeZone | asBackendZone() const |
| QString | comment() const |
| int | daylightTimeOffset(const QDateTime &atDateTime) const |
| QString | displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const |
| QString | displayName(const QDateTime &atDateTime, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const |
(since 6.5) int | fixedSecondsAheadOfUtc() const |
(since 6.8) bool | hasAlternativeName(QByteArrayView alias) const |
| bool | hasDaylightTime() const |
| bool | hasTransitions() const |
| QByteArray | id() const |
| bool | isDaylightTime(const QDateTime &atDateTime) const |
(since 6.5) bool | isUtcOrFixedOffset() const |
| bool | isValid() const |
| QTimeZone::OffsetData | nextTransition(const QDateTime &afterDateTime) const |
| QTimeZone::OffsetData | offsetData(const QDateTime &forDateTime) const |
| int | offsetFromUtc(const QDateTime &atDateTime) const |
| QTimeZone::OffsetData | previousTransition(const QDateTime &beforeDateTime) const |
| int | standardTimeOffset(const QDateTime &atDateTime) const |
| void | swap(QTimeZone &other) |
(since 6.2) QLocale::Territory | territory() const |
(since 6.5) Qt::TimeSpec | timeSpec() const |
| CFTimeZoneRef | toCFTimeZone() const |
| NSTimeZone * | toNSTimeZone() const |
| QTimeZone::OffsetDataList | transitions(const QDateTime &fromDateTime, const QDateTime &toDateTime) const |
| QTimeZone & | operator=(QTimeZone &&other) |
| QTimeZone & | operator=(const QTimeZone &other) |
Statische öffentliche Mitglieder
| const int | MaxUtcOffsetSecs |
| const int | MinUtcOffsetSecs |
| QList<QByteArray> | availableTimeZoneIds() |
| QList<QByteArray> | availableTimeZoneIds(QLocale::Territory territory) |
| QList<QByteArray> | availableTimeZoneIds(int offsetSeconds) |
| QTimeZone | fromCFTimeZone(CFTimeZoneRef timeZone) |
(since 6.5) QTimeZone | fromDurationAheadOfUtc(std::chrono::seconds offset) |
| QTimeZone | fromNSTimeZone(const NSTimeZone *timeZone) |
(since 6.5) QTimeZone | fromSecondsAheadOfUtc(int offset) |
(since 6.4) QTimeZone | fromStdTimeZonePtr(const std::chrono::time_zone *timeZone) |
| QByteArray | ianaIdToWindowsId(const QByteArray &ianaId) |
| bool | isTimeZoneIdAvailable(QByteArrayView ianaId) |
(since 6.5) bool | isUtcOrFixedOffset(Qt::TimeSpec spec) |
| QTimeZone | systemTimeZone() |
| QByteArray | systemTimeZoneId() |
| QTimeZone | utc() |
| QByteArray | windowsIdToDefaultIanaId(const QByteArray &windowsId) |
| QByteArray | windowsIdToDefaultIanaId(const QByteArray &windowsId, QLocale::Territory territory) |
| QList<QByteArray> | windowsIdToIanaIds(const QByteArray &windowsId) |
| QList<QByteArray> | windowsIdToIanaIds(const QByteArray &windowsId, QLocale::Territory territory) |
Verwandte Nicht-Mitglieder
| bool | operator!=(const QTimeZone &lhs, const QTimeZone &rhs) |
| bool | operator==(const QTimeZone &lhs, const QTimeZone &rhs) |
Ausführliche Beschreibung
Wenn Datums- und Zeitangaben kombiniert werden, hängt die Bedeutung des Ergebnisses davon ab, wie die Zeit dargestellt wird. Es gibt verschiedene internationale Standards zur Darstellung der Zeit; einer davon, UTC, entspricht dem traditionellen Standard der mittleren Sonnenzeit in Greenwich (auch bekannt als GMT). Alle anderen von Qt unterstützten Zeitsysteme werden letztlich in Bezug auf UTC spezifiziert. Eine Instanz dieser Klasse stellt einen zustandslosen Rechner für Umrechnungen zwischen UTC und anderen Zeitdarstellungen bereit.
Einige Zeitdarstellungen sind einfach durch einen festen Versatz gegenüber UTC definiert. Andere werden von Regierungen für die Verwendung innerhalb ihres Hoheitsgebiets festgelegt. Letztere werden eigentlich als Zeitzonen bezeichnet, doch QTimeZone (seit Qt 6.5) vereinheitlicht ihre Darstellung mit der allgemeiner Zeitsysteme. Eine Zeitzone, die auf den meisten Betriebssystemen allgemein unterstützt wird, wird als Ortszeit bezeichnet; es wird davon ausgegangen, dass diese der Zeitzone entspricht, in der der Benutzer lebt.
Für andere Zeitzonen als die Ortszeit, UTC und solche mit festen Offsets gegenüber UTC kann Qt nur dann Unterstützung bieten, wenn das Betriebssystem eine Möglichkeit zum Zugriff auf diese Informationen bereitstellt. Beim Erstellen von Qt steuert die Funktion „ timezone “, ob solche Informationen verfügbar sind. Ist dies nicht der Fall, sind einige Konstruktoren und Methoden von `QTimeZone` aus der API ausgeschlossen; diese sind als abhängig von der Funktion ` timezone` dokumentiert. Beachten Sie, dass diese Funktion, selbst wenn Qt mit aktivierter Funktion kompiliert wurde, für Benutzer möglicherweise nicht verfügbar ist, deren Systeme falsch konfiguriert sind oder auf denen bestimmte Standardpakete (z. B. das Paket „ tzdata “ unter Linux) nicht installiert sind. Diese Funktion ist standardmäßig aktiviert, wenn Zeitzoneninformationen verfügbar sind.
Diese Klasse ist in erster Linie für die Verwendung in QDateTime vorgesehen; die meisten Anwendungen müssen nicht direkt auf diese Klasse zugreifen, sondern sollten stattdessen beim Erstellen eines QDateTime eine Instanz davon verwenden.
Hinweis: Aus Gründen der Konsistenz mit QDateTime berücksichtigt QTimeZone keine Schaltsekunden.
Anmerkungen
QTimeZone misst, ebenso wie „ QDateTime “, Zeitverschiebungen gegenüber UTC in Sekunden. Dies steht im Gegensatz zu ihrer allgemeinen Zeitmessung, die in Millisekunden erfolgt. In der Praxis weisen Zeitzonen im Allgemeinen UTC-Versätze auf, die ganzzahlige Vielfache von fünf Minuten (300 Sekunden) sind, zumindest seit weit vor 1970. Ein positiver Versatz gegenüber UTC führt zu einer Zeitdarstellung, bei der der Mittag eines bestimmten Tages vor dem UTC-Mittag dieses Tages liegt; ein negativer Versatz verschiebt den Mittag auf denselben Tag hinter den UTC-Mittag.
Einfache Zeitdarstellungen
QTimeZone kann UTC, Ortszeit und feste Abweichungen von UTC darstellen, selbst wenn die Funktion „ timezone “ deaktiviert ist. Die Form, in der dies geschieht, ist auch verfügbar, wenn die Funktion aktiviert ist; es handelt sich um eine schlankere Form, und die Verarbeitung damit ist in der Regel effizienter, es sei denn, es werden Methoden verwendet, die nur verfügbar sind, wenn die Funktion „ timezone “ aktiviert ist. Informationen zum Erstellen dieser Darstellungen finden Sie unter Initialization und QTimeZone::fromSecondsAheadOfUtc(int).
Diese Dokumentation unterscheidet zwischen dem Begriff „Zeitzone“, der zur Beschreibung einer Zeitdarstellung verwendet wird, die durch vom System bereitgestellte oder Standardinformationen definiert ist, und Zeitdarstellungen im allgemeineren Sinne, zu denen auch diese vereinfachten Formen gehören. Die Methoden, die nur bei aktivierter Funktion „ timezone “ verfügbar sind, sind für Zeitzonen in der Regel effizienter als für vereinfachte Zeitdarstellungen; für letztere können diese Methoden ein geeignetes temporäres Zeitzonenobjekt erstellen, an das die Abfrage weitergeleitet wird.
IANA-Zeitzonen-IDs
QTimeZone verwendet die IANA-Zeitzonen-IDs, wie sie in der IANA-Zeitzonendatenbank (http://www.iana.org/time-zones) definiert sind. Damit soll eine einheitliche ID über alle unterstützten Plattformen hinweg gewährleistet werden. Die meisten Plattformen unterstützen die IANA-IDs und die IANA-Datenbank nativ, für Windows ist jedoch eine Zuordnung zu den nativen IDs erforderlich. Weitere Details finden Sie weiter unten.
Die IANA-IDs können sich regelmäßig ändern und variieren je nachdem, wie aktuell die Daten des Hostsystems sind. Daher können Sie sich nicht darauf verlassen, dass eine bestimmte ID auf einem Hostsystem vorhanden ist. Sie müssen availableTimeZoneIds() verwenden, um festzustellen, welche IANA-IDs verfügbar sind.
Die IANA-IDs und die Datenbank sind auch als Olson-IDs und -Datenbank bekannt, benannt nach dem ursprünglichen Ersteller der Datenbank.
Zeitzonen mit UTC-Offset
Es wird ein Standard-Backend für UTC-Zeitzonen bereitgestellt, das immer verfügbar ist, wenn die Funktion ` timezone ` aktiviert ist. Dieses bietet eine Reihe generischer Zeitzonen mit Abweichung von UTC im Bereich von UTC-16:00 bis UTC+16:00. Diese Zeitzonen können entweder unter Verwendung der Standardnamen im ISO-Format, wie z. B. „UTC+00:00“, wie unter availableTimeZoneIds() aufgeführt, oder unter Verwendung eines Namens ähnlicher Form in Kombination mit der Anzahl der Sekunden-Offset erstellt werden.
Windows-Zeitzonen
Die native Zeitzonenunterstützung von Windows ist im Vergleich zur Standard-IANA-TZ-Datenbank stark eingeschränkt. Windows-Zeitzonen decken größere geografische Gebiete ab und sind daher bei der Umrechnung weniger genau. Außerdem unterstützen sie nicht so viele historische Daten und sind daher möglicherweise nur für das aktuelle Jahr genau. Insbesondere wenn die Zonendaten von Microsoft behaupten, dass die Sommerzeit bereits vor 1900 galt (was historisch nachweislich nicht zutrifft), wird diese Angabe ignoriert und davon ausgegangen, dass die (angeblich) im Jahr 1900 geltende Standardzeit stets in Kraft war.
QTimeZone verwendet eine aus den Unicode-CLDR-Daten abgeleitete Konvertierungstabelle, um zwischen IANA-IDs und Windows-IDs zu vermitteln. Je nach Ihrer Windows- und Qt-Version kann diese Tabelle möglicherweise keine gültige Konvertierung liefern; in diesem Fall wird „UTC“ zurückgegeben.
QTimeZone stellt eine öffentliche API zur Nutzung dieser Konvertierungstabelle bereit. Die verwendete Windows-ID ist der Windows-Registrierungsschlüssel für die Zeitzone, der zugleich auch die MS Exchange EWS-ID darstellt, sich jedoch vom Zeitzonennamen (TZID) und dem COD-Code unterscheidet, die von MS Exchange in Versionen vor 2007 verwendet wurden.
Hinweis: Wenn Qt mit der ICU-Bibliothek kompiliert wird, wird diese den Windows-System-APIs vorgezogen, wodurch alle Probleme mit diesen APIs, die unterschiedliche Bezeichnungen verwenden, umgangen werden.
WebAssembly
Unter WebAssembly unterstützt QTimeZone nur UTC und Zeitzonen mit festem UTC-Offset, wenn diese in einer backendbasierten Form dargestellt werden. Die IANA-Zeitzonendatenbank ist nicht verfügbar, daher geben Funktionen wie ` availableTimeZoneIds()` nur Zeitzonen mit UTC-Offset zurück. Die Systemzeitzone wird über die JavaScript-Methode ` Date.getTimezoneOffset() ` abgerufen und als fester Offset (z. B. „UTC+02:00“) statt als geografische IANA-ID dargestellt. QTimeZone(QTimeZone::LocalTime) liefert jedoch weiterhin eine korrekte Darstellung der Ortszeit, da es auf die Standard-Zeitfunktionen der Plattform zurückgreift.
Systemzeitzone
Die Methode ` systemTimeZoneId()` gibt die aktuelle IANA-Zeitzonen-ID des Systems zurück, die auf Unix-ähnlichen Systemen stets korrekt ist. Unter Windows wird diese ID anhand einer internen Übersetzungstabelle und des vom Benutzer ausgewählten Landes aus der Windows-System-ID abgeleitet. Daher besteht eine geringe Wahrscheinlichkeit, dass eine Windows-Installation IDs aufweist, die Qt nicht kennt; in diesem Fall wird „UTC“ zurückgegeben.
Das Erstellen einer neuen `QTimeZone`-Instanz unter Verwendung der Systemzeitzonen-ID erzeugt lediglich eine fest benannte Kopie der Zeitzone; diese ändert sich nicht, wenn sich die Systemzeitzone ändert. ` QTimeZone::systemTimeZone()` gibt eine Instanz zurück, die die durch diese System-ID benannte Zeitzone repräsentiert. Beachten Sie, dass sich die Erstellung eines ` QDateTime ` unter Verwendung dieser Systemzeitzone anders verhalten kann als die Erstellung eines ` QDateTime `, das ` Qt::LocalTime ` als ` Qt::TimeSpec` verwendet, da Letzteres direkt auf System-APIs für den Zugriff auf lokale Zeitinformationen zurückgreift, die sich möglicherweise anders verhalten (und sich insbesondere anpassen könnten, wenn der Benutzer die Einstellung der Systemzeitzone ändert).
Zeitzonen-Offsets
Die Differenz zwischen UTC und der Ortszeit in einer Zeitzone wird als Versatz in Sekunden gegenüber UTC ausgedrückt, d. h. als die Anzahl der Sekunden, die zur UTC hinzugerechnet werden müssen, um die Ortszeit zu erhalten. Der Gesamtversatz setzt sich aus zwei Komponenten zusammen: dem Standardzeitversatz und dem Sommerzeitversatz. Die Standardzeitverschiebung ist die Anzahl der Sekunden, die zur UTC addiert werden müssen, um die Standardzeit in der Zeitzone zu erhalten. Die Sommerzeitverschiebung ist die Anzahl der Sekunden, die zur Standardzeitverschiebung addiert werden müssen, um die Sommerzeit (abgekürzt DST und manchmal auch als „Daylight Time“ oder „Summer Time“ bezeichnet) in der Zeitzone zu erhalten. Im üblichen Fall der Sommerzeit (Standardzeit im Winter, Sommerzeit im Sommer) ist die Sommerzeitverschiebung positiv. Einige Zeitzonen weisen jedoch negative Sommerzeitverschiebungen auf, die im Winter gelten, während im Sommer die Standardzeit verwendet wird.
Beachten Sie, dass sich die Standard- und Sommerzeit-Offsets für eine Zeitzone im Laufe der Zeit ändern können, da Länder ihre Sommerzeitgesetze oder sogar ihren Standardzeit-Offset geändert haben.
Lizenz
Diese Klasse enthält Daten, die aus den CLDR-Datendateien unter den Bedingungen der „Unicode Data Files and Software License“ stammen. Weitere Informationen finden Sie unter „Unicode Common Locale Data Repository (CLDR) “.
Siehe auch QDateTime und QCalendar.
Dokumentation zum Mitgliedstyp
[since 6.5] enum QTimeZone::Initialization
Der Typ der einfachsten, schlanken Zeitdarstellungen.
Diese Aufzählung identifiziert einen Typ einer leichtgewichtigen Zeitdarstellung, der an einen Konstruktor von ` QTimeZone ` übergeben wird, bei dem keine weiteren Daten erforderlich sind. Sie entsprechen den gleichnamigen Elementen von ` Qt::TimeSpec`.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTimeZone::LocalTime | 0 | Diese Zeitdarstellung entspricht derjenigen, die implizit von Systemfunktionen verwendet wird, die die Werte ` time_t ` und ` struct tm ` nutzen, um zwischen Ortszeit und UTC-Zeit umzurechnen. |
QTimeZone::UTC | 1 | Diese Zeitdarstellung, die koordinierte Weltzeit (Coordinated Universal Time), ist die Basisdarstellung, auf die sich die bürgerliche Zeit in allen unterstützten Zeitdarstellungen bezieht. Sie wird von der Internationalen Fernmeldeunion definiert. |
Diese Enumeration wurde in Qt 6.5 eingeführt.
enum QTimeZone::NameType
Der Typ des Zeitzonennamens.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTimeZone::DefaultName | 0 | Die Standardform des Zeitzonennamens, entweder „LongName“, „ShortName“ oder „OffsetName“ |
QTimeZone::LongName | 1 | Die Langform des Zeitzonennamens, z. B. „Mitteleuropäische Zeit“ |
QTimeZone::ShortName | 2 | Die Kurzform des Zeitzonennamens, in der Regel eine Abkürzung, z. B. „CET“, in Sprachumgebungen, die eine solche für die Zeitzone vorsehen; andernfalls eine kompakte GMT-Offset-Form, z. B. „GMT+1“ |
QTimeZone::OffsetName | 3 | Die standardmäßige ISO-Offset-Form des Zeitzonennamens, z. B. „UTC+01:00“ |
Dieser Typ ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
QTimeZone::OffsetDataList
Synonym für „ QList “ <OffsetData>.
Dieser Typ ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
enum QTimeZone::TimeType
Der Name einer Zeitzone kann sich je nach Jahreszeit ändern, um anzugeben, ob die Standardabweichung von der UTC verwendet wird oder ob auf diese Abweichung eine Sommerzeitanpassung angewendet wird. In solchen Fällen gibt es in der Regel auch einen allgemeinen Namen, der unabhängig von der Jahreszeit für diese Zeitzone gilt. Bei der Abfrage des Anzeigenamens einer Zeitzone legt dieser Typ fest, welcher dieser Namen verwendet werden soll. In Zeitzonen, in denen keine Sommerzeit gilt, können alle drei Werte dasselbe Ergebnis liefern.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTimeZone::StandardTime | 0 | Der Name der Zeitzone in der Standardzeit. Zum Beispiel „Pacific Standard Time“. |
QTimeZone::DaylightTime | 1 | Der Name der Zeitzone, wenn die Sommerzeit gilt. Zum Beispiel „Pacific Daylight Time“. |
QTimeZone::GenericTime | 2 | Der Name, unter dem die Zeitzone bezeichnet wird, unabhängig davon, ob eine Sommerzeitanpassung gilt. Zum Beispiel „Pacific Time“. |
Dieser Typ ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Dokumentation zu den Mitgliedsfunktionen
[noexcept] QTimeZone::QTimeZone()
Erstellen Sie eine Instanz mit einer nicht vorhandenen bzw. ungültigen Zeitzone.
[noexcept, since 6.5] QTimeZone::QTimeZone(QTimeZone::Initialization spec)
Erstellt eine kompakte Instanz, die die UTC- oder Ortszeit beschreibt.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch fromSecondsAheadOfUtc(), asBackendZone(), utc() und systemTimeZone().
[explicit] QTimeZone::QTimeZone(const QByteArray &ianaId)
Erstellt eine Zeitzoneninstanz mit der angeforderten IANA-ID „ ianaId “.
Die ID muss eine der verfügbaren System-IDs oder eine gültige UTC-mit-Offset-ID sein, andernfalls wird eine ungültige Zeitzone zurückgegeben. Bei UTC-mit-Offset-IDs, die keine tatsächlichen IANA-IDs sind, kann die id() der resultierenden Instanz von der an den Konstruktor übergebenen ID abweichen.
Dieser Konstruktor ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch ` availableTimeZoneIds()` und ` id()`.
[explicit] QTimeZone::QTimeZone(int offsetSeconds)
Erstellt eine Zeitzoneninstanz mit dem angegebenen Offset ( offsetSeconds) gegenüber UTC.
Der Versatz „ offsetSeconds “ gegenüber UTC muss im Bereich von -16 bis +16 Stunden liegen, andernfalls wird eine ungültige Zeitzone zurückgegeben.
Dieser Konstruktor ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist. Die zurückgegebene Instanz entspricht der vereinfachten Zeitdarstellung „ QTimeZone::fromSecondsAheadOfUtc(offsetSeconds) “, ist jedoch als Zeitzone implementiert.
Siehe auch „ MinUtcOffsetSecs“ , „ MaxUtcOffsetSecs “ und „ id()“.
QTimeZone::QTimeZone(const QByteArray &zoneId, int offsetSeconds, const QString &name, const QString &abbreviation, QLocale::Territory territory = QLocale::AnyTerritory, const QString &comment = QString())
Erstellt eine benutzerdefinierte Zeitzoneninstanz mit einem festen Versatz gegenüber UTC.
Die zurückgegebene Zeitzone hat die ID „ zoneId “ und einen Versatz gegenüber UTC von „ offsetSeconds “. „ name “ ist der Name, der von „ displayName()“ für „ LongName “ verwendet wird, „ abbreviation “ wird von „ displayName()“ für „ ShortName “ sowie von „ abbreviation()“ verwendet, und das optionale „ territory “ wird von „ territory()“ verwendet. „ comment “ ist ein optionaler Hinweis, der in einer Benutzeroberfläche angezeigt werden kann, um Benutzern bei der Auswahl einer Zeitzone zu helfen.
Der „ offsetSeconds “ von UTC muss im Bereich von -16 Stunden bis +16 Stunden liegen. Die „ zoneId “ darf keine ID sein, für die „ isTimeZoneIdAvailable()“ wahr ist, es sei denn, es handelt sich um einen UTC-Offset-Namen, der nicht in „ availableTimeZoneIds()“ vorkommt.
Wenn die benutzerdefinierte Zeitzone kein bestimmtes Gebiet hat, setzen Sie sie auf den Standardwert „ QLocale::AnyTerritory “.
Dieser Konstruktor ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch id(), offsetFromUtc(), displayName(), abbreviation(), territory(), comment(), MinUtcOffsetSecs und MaxUtcOffsetSecs.
[noexcept] QTimeZone::QTimeZone(const QTimeZone &other)
Kopierkonstruktor: Kopiere „ other “ in „this“.
[noexcept] QTimeZone::QTimeZone(QTimeZone &&other)
Der Move-Konstruktor hierfür stammt von other.
[noexcept] QTimeZone::~QTimeZone()
Zerstört die Zeitzone.
QString QTimeZone::abbreviation(const QDateTime &atDateTime) const
Gibt die Zeitzonenabkürzung für die angegebene atDateTime zurück.
Die Abkürzung kann sich je nach Sommerzeit oder sogar aufgrund historischer Ereignisse ändern.
Hinweis: Es kann nicht garantiert werden, dassdie Abkürzung für diese Zeitzone eindeutig ist, und sie sollte nicht anstelle der ID oder des Anzeigenamens verwendet werden. Die Abkürzung kann je nach zugrunde liegendem Betriebssystem lokalisiert sein. Um eine konsistente Lokalisierung zu gewährleisten, verwenden Sie „ displayName(atDateTime, QTimeZone::ShortName, locale) “.
Diese Methode ist nur verfügbar, wenn die Funktion ` timezone ` aktiviert ist.
Siehe auch „ displayName()“.
[since 6.5] QTimeZone QTimeZone::asBackendZone() const
Wandelt dieses „ QTimeZone “ in ein Element um, dessen „ timeSpec()“ den Wert „ Qt::TimeZone “ ergibt.
In allen Fällen ist das Ergebnis von timeSpec() Qt::TimeZone. Wenn das timeSpec() dieses QTimeZone Qt::TimeZone ist, wird dieses QTimeZone selbst zurückgegeben. Ist timeSpec() Qt::LocalTime, dann wird systemTimeZone() zurückgegeben.
Wenn timeSpec() Qt::UTC lautet, wird QTimeZone::utc() zurückgegeben. Wenn es Qt::OffsetFromUTC lautet, wird QTimeZone(int) mit dem entsprechenden Offset übergeben und das Ergebnis zurückgegeben.
Bei der Verwendung einer vereinfachten Zeitdarstellung – Ortszeit, UTC-Zeit oder Zeit mit einem festen Offset gegenüber UTC – kann die Verwendung von Methoden, die nur bei aktivierter Funktion „ timezone “ unterstützt werden, aufwendiger sein als die Verwendung einer entsprechenden Zeitzone. Diese Methode ordnet eine vereinfachte Zeitdarstellung einer entsprechenden Zeitzone zu – das heißt, einer Instanz, die auf vom System bereitgestellten oder Standarddaten basiert.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch „ QTimeZone“ (QTimeZone::Initialization) und „ fromSecondsAheadOfUtc “ ().
[static] QList<QByteArray> QTimeZone::availableTimeZoneIds()
Gibt eine Liste der auf diesem System verfügbaren Zeitzonen-IDs zurück.
Dazu gehören eine IANA-ID für jede Zone, die von der Zeitzonen-Informationsquelle des Systems unterstützt wird, sowie einige Aliase dieser IDs und eine begrenzte Anzahl häufig verwendeter UTC-Offset-IDs.
Der Konstruktor ` QTimeZone ` akzeptiert auch einige UTC-Offset-IDs, die nicht in der zurückgegebenen Liste enthalten sind – es wäre unpraktisch, alle möglichen UTC-Offset-IDs aufzulisten. Er akzeptiert zudem bekannte Aliase für unterstützte IANA-IDs, von denen einige möglicherweise nicht in dieser Liste aufgeführt sind. Solche IDs werden auch von ` isTimeZoneIdAvailable()` akzeptiert.
Wenn das „Common Locale Data Repository“ (CLDR) des Unicode-Konsortiums eine unterstützte IANA-ID als Alias für den stabilen Namen der Zone betrachtet, so wird dieser stabile Name für die Zone ebenfalls in die Liste aufgenommen (auch wenn er möglicherweise veraltet ist) – sowohl aus Gründen der Stabilität als auch als plattformübergreifende gemeinsame Grundlage, wenn verschiedene Systemquellen für Zeitzoneninformationen unterschiedliche Aliase für dieselbe Zone verwenden.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ isTimeZoneIdAvailable “ () und „ hasAlternativeName “ ().
[static] QList<QByteArray> QTimeZone::availableTimeZoneIds(QLocale::Territory territory)
Gibt eine Liste aller verfügbaren IANA-Zeitzonen-IDs für eine bestimmte „ territory “ zurück.
Als Sonderfall wählt ein „ territory “ von „ AnyTerritory “ jene Zeitzonen aus, die nicht an ein bestimmtes Gebiet gebunden sind, wie beispielsweise UTC, während „ World “ jene Zeitzonen auswählt, für die es eine globale Standard-IANA-ID gibt. Wenn Sie eine Liste aller Zeitzonen-IDs für alle Gebiete benötigen, verwenden Sie die Standardmethode „availableTimeZoneIds()“.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ isTimeZoneIdAvailable()“ und „ territory()“.
[static] QList<QByteArray> QTimeZone::availableTimeZoneIds(int offsetSeconds)
Gibt eine Liste aller verfügbaren IANA-Zeitzonen-IDs mit einem bestimmten Standardzeitversatz von offsetSeconds zurück.
Sofern der angegebene Versatz unterstützt wird, wird „ QTimeZone(offsetSeconds).id() “ in die Liste aufgenommen, auch wenn es sich dabei nicht um eine IANA-ID handelt. Dies tritt nur dann auf, wenn es keine IANA-UTC-Versatz-ID mit dem angegebenen Versatz gibt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ isTimeZoneIdAvailable()“ und „ QTimeZone(int)“.
QString QTimeZone::comment() const
Gibt einen Kommentar zur Zeitzone zurück.
Ein Kommentar kann von der Host-Plattform bereitgestellt werden, um Benutzern bei der Auswahl der richtigen Zeitzone zu helfen. Je nach Plattform ist dieser möglicherweise nicht lokalisiert.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
int QTimeZone::daylightTimeOffset(const QDateTime &atDateTime) const
Gibt den Sommerzeit-Offset für die angegebene Zeitzone „ atDateTime “ zurück, d. h. die Anzahl der Sekunden, die zum Standardzeit-Offset addiert werden müssen, um die lokale Sommerzeit zu erhalten.
Beispielsweise beträgt der Sommerzeit-Offset für die Zeitzone „Europe/Berlin“ +3600 Sekunden. Während der Standardzeit gibt daylightTimeOffset() den Wert 0 zurück, während der Sommerzeit hingegen den Wert +3600.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ offsetFromUtc()“ und „ standardTimeOffset()“.
QString QTimeZone::displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const
Gibt den lokalisierten Namen der Zeitzone zurück.
Der zurückgegebene Name ist derjenige für die angegebene „ locale “, der gilt, wenn die angegebene „ timeType “ in Kraft ist, und der die in „ nameType “ angegebene Form aufweist. Falls sich die Anzeigenamen der Zeitzonen im Laufe der Zeit geändert haben, werden die aktuellen Namen verwendet. Ist kein entsprechend lokalisierter Name des angegebenen Typs verfügbar, kann ein anderer Namenstyp verwendet oder eine leere Zeichenkette zurückgegeben werden.
Wird die „ locale “ nicht angegeben, wird die Standard-Locale der Anwendung verwendet. Für benutzerdefinierte Zeitzonen, die durch Client-Code erstellt wurden, werden die an den Konstruktor übergebenen Daten verwendet, da hierfür keine Lokalisierungsdaten verfügbar sind. Ist diese Zeitzone ungültig, wird eine leere Zeichenkette zurückgegeben. Dies kann auch bei der Darstellung der Ortszeit auftreten, wenn die Ermittlung der Systemzeitzone fehlschlägt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ abbreviation()“.
QString QTimeZone::displayName(const QDateTime &atDateTime, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const
Gibt den lokalisierten Anzeigenamen der Zeitzone zurück.
Der zurückgegebene Name ist derjenige für die angegebene „ locale “, der an der angegebenen „ atDateTime “ gilt und die durch „ nameType “ angegebene Form hat. Der Anzeigename kann sich je nach Sommerzeit oder historischen Ereignissen ändern. Wenn kein entsprechend lokalisierter Name des angegebenen Typs verfügbar ist, kann ein anderer Namentyp verwendet oder eine leere Zeichenfolge zurückgegeben werden.
Wird die „ locale “ nicht angegeben, wird die Standard-Locale der Anwendung verwendet. Für benutzerdefinierte Zeitzonen, die durch Client-Code erstellt wurden, werden die an den Konstruktor übergebenen Daten verwendet, da hierfür keine Lokalisierungsdaten verfügbar sind. Ist diese Zeitzone ungültig, wird eine leere Zeichenfolge zurückgegeben. Dies kann auch bei der Darstellung der Ortszeit auftreten, wenn die Ermittlung der Systemzeitzone fehlschlägt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ abbreviation()“.
[constexpr noexcept, since 6.5] int QTimeZone::fixedSecondsAheadOfUtc() const
Für eine leichtgewichtige Zeitdarstellung, deren ` timeSpec()` den Wert ` Qt::OffsetFromUTC` hat, gibt diese Funktion den festgelegten Versatz gegenüber UTC zurück, den sie beschreibt. Für jede andere Zeitdarstellung gibt sie 0 zurück, selbst wenn diese Zeitdarstellung einen konstanten Versatz gegenüber UTC aufweist.
Diese Funktion wurde in Qt 6.5 eingeführt.
[static] QTimeZone QTimeZone::fromCFTimeZone(CFTimeZoneRef timeZone)
Erstellt ein neues ` QTimeZone `-Objekt, das eine Kopie des `CFTimeZone`-Objekts ` timeZone` enthält.
Siehe auch toCFTimeZone().
[static, since 6.5] QTimeZone QTimeZone::fromDurationAheadOfUtc(std::chrono::seconds offset)
[static, since 6.5] QTimeZone QTimeZone::fromSecondsAheadOfUtc(int offset)
Gibt eine Zeitangabe in einer festen Zeitzone „ offset “ in Sekunden vor UTC zurück.
Der Versatz ( offset ) gegenüber UTC muss im Bereich von -16 Stunden bis +16 Stunden liegen, andernfalls wird eine ungültige Zeitzone zurückgegeben. Die zurückgegebene Instanz „ QTimeZone “ ist eine vereinfachte Zeitdarstellung und keine Zeitzone (die auf vom System bereitgestellten oder Standarddaten basiert).
Ist der Offset 0, ist der Wert von ` timeSpec()` der zurückgegebenen Instanz ` Qt::UTC`. Andernfalls, sofern ` offset ` gültig ist, ist der Wert von ` timeSpec()` ` Qt::OffsetFromUTC`. Bei Rückgabe einer ungültigen Zeitzone ist der Wert von ` timeSpec()` ` Qt::TimeZone `.
Diese Funktionen wurden in Qt 6.5 eingeführt.
Siehe auch „ QTimeZone“ (int), „ asBackendZone “ (), „ fixedSecondsAheadOfUtc “ (), „ MinUtcOffsetSecs “ und „ MaxUtcOffsetSecs “.
[static] QTimeZone QTimeZone::fromNSTimeZone(const NSTimeZone *timeZone)
Erstellt ein neues ` QTimeZone `-Objekt, das eine Kopie des `NSTimeZone`-Objekts ` timeZone` enthält.
Siehe auch toNSTimeZone().
[static, since 6.4] QTimeZone QTimeZone::fromStdTimeZonePtr(const std::chrono::time_zone *timeZone)
Gibt ein „ QTimeZone “-Objekt zurück, das dieselbe Zeitzone wie „ timeZone “ darstellt. Die IANA-ID von „ timeZone “ muss eine der verfügbaren System-IDs sein, andernfalls wird eine ungültige Zeitzone zurückgegeben.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Diese Funktion wurde in Qt 6.4 eingeführt.
[since 6.8] bool QTimeZone::hasAlternativeName(QByteArrayView alias) const
Gibt „ true “ zurück, wenn „ alias “ ein alternativer Name für diese Zeitzone ist.
Die IANA-Datenbank (ehemals Olson) hat im Laufe ihrer Geschichte einige Zeitzonen umbenannt. Es gibt auch einige Zeitzonen, die sich vor 1970 unterschieden, nun aber als Synonyme behandelt werden. Einige Backends verfügen möglicherweise über Daten, die bis vor 1970 zurückreichen, und erzeugen im letzteren Fall unterschiedliche Zeitzonen. Andere erzeugen möglicherweise Zeitzonen, die sich nur durch id() unterscheiden lassen. Diese Methode ermittelt, ob sich eine ID (zumindest seit 1970) auf dieselbe Zeitzone bezieht, die dieses Zeitzonenobjekt beschreibt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch „ isTimeZoneIdAvailable“ ().
bool QTimeZone::hasDaylightTime() const
Gibt „ true “ zurück, wenn in der Zeitzone zu irgendeinem Zeitpunkt die Sommerzeit angewendet wurde.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ isDaylightTime()“ und „ daylightTimeOffset()“.
bool QTimeZone::hasTransitions() const
Gibt „ true “ zurück, wenn das System-Backend das Abrufen von Zeitumstellungen unterstützt.
Zeitumstellungen sind Änderungen der Zeitzone: Diese treten auf, wenn die Sommerzeit ein- oder ausgeschaltet wird und wenn Behörden die Zeitverschiebungen für die Zeitzone anpassen.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Hinweis: Dies ist keine Eigenschaft der durch dieses Objekt beschriebenen Zeitzone, sondern des Backends, das Daten über die Zeitzone bereitstellt – in der Regel aus Systembibliotheken. Die Methode gibt an, ob die anderen Funktionen im Zusammenhang mit Zeitumstellungen etwas zu bieten haben.
Siehe auch ` nextTransition()`, ` previousTransition()` und ` transitions()`.
[static] QByteArray QTimeZone::ianaIdToWindowsId(const QByteArray &ianaId)
Gibt die Windows-ID zurück, die dem angegebenen „ ianaId “ entspricht.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ windowsIdToDefaultIanaId()“ und „ windowsIdToIanaIds()“.
QByteArray QTimeZone::id() const
Gibt die IANA-ID für die Zeitzone zurück.
IANA-IDs werden auf allen Plattformen verwendet. Unter Windows werden diese von der Windows-ID in die am besten passende IANA-ID für die Zeitzone und das Gebiet übersetzt.
Wenn diese Zeitzoneninstanz nicht anhand einer IANA-ID erstellt wurde, richtet sich ihre ID danach, wie sie erstellt wurde. In den meisten Fällen wird die ID verwendet, die beim Erstellen der Instanz übergeben wurde. (Der Konstruktor für eine benutzerdefinierte Zeitzone verwendet die ihm übergebene ID, die keine IANA-ID sein darf.) Es gibt zwei Ausnahmen.
- Instanzen, die durch die Übergabe eines UTC-Offsets in Sekunden erstellt wurden, erhalten bei der Erstellung keine ID.
- Der Konstruktor, der nur eine IANA-ID akzeptiert, akzeptiert auch einige UTC-Offset-IDs, die eigentlich keine IANA-IDs sind: Die Behandlung dieser IDs entspricht der Übergabe des entsprechenden Offsets in Sekunden, wie bei der ersten Ausnahme.
In den beiden Ausnahmefällen verwendet die erstellte Instanz, sofern es eine IANA-Zeitzone mit dem angegebenen UTC-Offset gibt, die ID dieser IANA-Zeitzone, auch wenn diese von der an den Konstruktor übergebenen (Nicht-IANA-)UTC-Offset-ID abweichen kann. Andernfalls verwendet die Instanz eine aus ihrem Offset synthetisierte ID in der Form UTC±hh:mm:ss, wobei ein nachgestelltes :00 für null Sekunden oder Minuten weggelassen wird. Auch dies kann von der an den Konstruktor übergebenen UTC-Offset-ID abweichen.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
bool QTimeZone::isDaylightTime(const QDateTime &atDateTime) const
Gibt „ true “ zurück, wenn zum angegebenen Zeitpunkt „ atDateTime “ die Sommerzeit galt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ hasDaylightTime()“ und „ daylightTimeOffset()“.
[static] bool QTimeZone::isTimeZoneIdAvailable(QByteArrayView ianaId)
Gibt „ true “ zurück, wenn eine bestimmte Zeitzone ianaId auf diesem System verfügbar ist.
Dies kann bei einigen Texten der Fall sein, die eigentlich keine IANA-IDs sind, insbesondere bei UTC-Offset-IDs und bekannten Aliasen für unterstützte IANA-IDs, die nicht in availableTimeZoneIds() aufgeführt sind.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ availableTimeZoneIds “ () und „ hasAlternativeName “ ().
[constexpr noexcept, since 6.5] bool QTimeZone::isUtcOrFixedOffset() const
Gibt „ true “ zurück, wenn „ timeSpec()“ den Wert „ Qt::UTC “ oder „ Qt::OffsetFromUTC “ ergibt.
Ist dies der Fall, ändert sich die Zeitbeschreibung im Laufe der Zeit nicht, wie es beispielsweise bei saisonalen Umstellungen auf Sommerzeit der Fall sein kann, die bei der Ortszeit oder einer Zeitzone auftreten können. Diese Information kann dem aufrufenden Code verschiedene weitere Überprüfungen ersparen.
Diese Funktion wurde in Qt 6.5 eingeführt.
[static constexpr noexcept, since 6.5] bool QTimeZone::isUtcOrFixedOffset(Qt::TimeSpec spec)
Gibt „ true “ zurück, wenn „ spec “ entweder „ Qt::UTC “ oder „ Qt::OffsetFromUTC “ ist.
Diese Funktion wurde in Qt 6.5 eingeführt.
bool QTimeZone::isValid() const
Gibt „ true “ zurück, wenn diese Zeitzone gültig ist.
QTimeZone::OffsetData QTimeZone::nextTransition(const QDateTime &afterDateTime) const
Gibt den ersten Zeitzonenübergang nach dem angegebenen afterDateTime zurück. Dies ist besonders nützlich, wenn Sie einen Übergangszeitpunkt haben und den darauf folgenden Übergang ermitteln möchten.
Wenn nach dem angegebenen „ afterDateTime “ kein Übergang folgt, wird ein ungültiges „ OffsetData “ mit einem ungültigen „ QDateTime “ als „ atUtc “ zurückgegeben.
Die angegebene „ afterDateTime “ ist exklusiv.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch hasTransitions(), previousTransition() und transitions().
QTimeZone::OffsetData QTimeZone::offsetData(const QDateTime &forDateTime) const
Gibt die Details zum effektiven Offset an der angegebenen Adresse forDateTime zurück.
Dies entspricht dem Aufruf von ` abbreviation()` sowie der einzelnen Aufrufe aller drei Offset-Funktionen, ist jedoch möglicherweise effizienter und liefert unter Umständen eine andere Lokalisierung für die Abkürzung. Sind diese Daten für den angegebenen Datums- und Zeitwert nicht verfügbar, wird ein ungültiger ` OffsetData ` mit einem ungültigen ` QDateTime ` als ` atUtc` zurückgegeben.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch offsetFromUtc(), standardTimeOffset(), daylightTimeOffset() und abbreviation().
int QTimeZone::offsetFromUtc(const QDateTime &atDateTime) const
Gibt den gesamten effektiven Zeitversatz für die angegebene Zeitangabe „ atDateTime “ zurück, d. h. die Anzahl der Sekunden, die zur UTC-Zeit addiert werden müssen, um die Ortszeit zu erhalten. Dies umfasst auch einen eventuell geltenden Sommerzeitversatz, d. h., es handelt sich um die Summe aus standardTimeOffset() und daylightTimeOffset() für die angegebene Zeitangabe.
Beispielsweise beträgt für die Zeitzone „Europe/Berlin“ der Standard-Zeitversatz +3600 Sekunden und der Sommerzeit-Versatz +3600 Sekunden. Während der Standardzeit gibt offsetFromUtc() +3600 (UTC+01:00) zurück, während der Sommerzeit hingegen +7200 (UTC+02:00).
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ standardTimeOffset()“ und „ daylightTimeOffset()“.
QTimeZone::OffsetData QTimeZone::previousTransition(const QDateTime &beforeDateTime) const
Gibt den ersten Zeitzonenübergang vor dem angegebenen „ beforeDateTime “ zurück. Dies ist besonders nützlich, wenn Sie eine Übergangszeit haben und den Übergang davor ermitteln möchten.
Wenn es keinen Übergang vor dem angegebenen „ beforeDateTime “ gibt, wird ein ungültiges „ OffsetData “ mit einem ungültigen „ QDateTime “ als „ atUtc “ zurückgegeben.
Der angegebene „ beforeDateTime “ ist exklusiv.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ hasTransitions()“, „ nextTransition()“ und „ transitions()“.
int QTimeZone::standardTimeOffset(const QDateTime &atDateTime) const
Gibt den Standard-Zeitversatz für die angegebene atDateTime zurück, d. h. die Anzahl der Sekunden, die zur UTC hinzugefügt werden müssen, um die lokale Standardzeit zu erhalten. Dabei wird ein eventuell geltender Sommerzeitversatz nicht berücksichtigt.
Beispielsweise beträgt der Standardzeitversatz für die Zeitzone „Europe/Berlin“ +3600 Sekunden. Sowohl während der Standardzeit als auch während der Sommerzeit gibt offsetFromUtc() den Wert +3600 (UTC+01:00) zurück.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch offsetFromUtc() und daylightTimeOffset().
[noexcept] void QTimeZone::swap(QTimeZone &other)
Tauscht diese Zeitzoneninstanz gegen „ other “ aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
[static] QTimeZone QTimeZone::systemTimeZone()
Gibt ein „ QTimeZone “-Objekt zurück, das die lokale Systemzeit beschreibt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist. Die zurückgegebene Instanz entspricht in der Regel der vereinfachten Zeitdarstellung „ QTimeZone(QTimeZone::LocalTime) “, ist jedoch als Zeitzone implementiert.
Das zurückgegebene Objekt ändert sich nicht, um spätere Änderungen der Systemzeitzone widerzuspiegeln. Es repräsentiert die Ortszeit, die zum Zeitpunkt des Aufrufs von ` asBackendZone()` gültig war. Auf falsch konfigurierten Systemen, beispielsweise solchen, denen die Zeitzonendaten fehlen, auf die das Backend zurückgreift, für das Qt kompiliert wurde, kann es ungültig sein. In einem solchen Fall wird eine Warnung ausgegeben.
Siehe auch „ utc()“, „ Initialization “, „ asBackendZone()“ und „ systemTimeZoneId()“.
[static] QByteArray QTimeZone::systemTimeZoneId()
Gibt die IANA-ID der aktuellen Systemzeitzone zurück.
Entspricht dem Aufruf von ` systemTimeZone()`. `id()`, kann jedoch einige Berechnungen zur Ermittlung der Zeitzone überspringen. Das Erstellen eines ` QTimeZone ` aus dem zurückgegebenen Byte-Array liefert dasselbe Ergebnis wie ` systemTimeZone()`.
Wenn das Backend die richtige Systemzeitzone nicht ermitteln kann, ist das Ergebnis leer. In diesem Fall ist systemTimeZone().isValid() falsch, und es wird eine Warnung ausgegeben, wenn entweder diese Methode oder systemTimeZone() aufgerufen wird.
Wenn das Backend die richtige Systemzone ermitteln kann, jedoch nicht deren Namen, wird ein leeres Byte-Array zurückgegeben. Unter Windows wird beispielsweise die systemeigene ID in eine IANA-ID umgewandelt – ist die System-ID dem internen Übersetzungscode nicht bekannt, muss das Ergebnis leer sein. In diesem Fall ist „ systemTimeZone()“ („isValid(“) wahr.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Hinweis: Vor Qt 6.7 wurde, wenn das Ergebnis nicht ermittelt werden konnte, das irreführende Ergebnis „UTC“ zurückgegeben.
Siehe auch systemTimeZone().
[since 6.2] QLocale::Territory QTimeZone::territory() const
Gibt das Gebiet der Zeitzone zurück.
Die Rückgabe von „ AnyTerritory “ bedeutet, dass für die Zeitzone kein bekanntes Gebiet zugeordnet ist. In einigen Fällen kann dies daran liegen, dass die Zeitzone keinem Gebiet zugeordnet ist – zum Beispiel UTC – oder dass die Zeitzone in mehreren Gebieten verwendet wird – zum Beispiel MEZ. In anderen Fällen weiß das „ QTimeZone “-Backend möglicherweise nicht, welchem Gebiet die Zeitzone zugeordnet ist – zum Beispiel, weil sie nicht die primäre Zeitzone des Gebiets ist, in dem sie verwendet wird.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Diese Funktion wurde in Qt 6.2 eingeführt.
[constexpr noexcept, since 6.5] Qt::TimeSpec QTimeZone::timeSpec() const
Gibt einen „ Qt::TimeSpec “ zurück, der den Typ der Zeitdarstellung angibt.
Ist das Ergebnis „ Qt::TimeZone “, handelt es sich bei dieser Zeitbeschreibung um eine Zeitzone (gestützt auf vom System bereitgestellte oder Standarddaten); andernfalls handelt es sich um eine vereinfachte Zeitdarstellung. Ist das Ergebnis „ Qt::LocalTime “, beschreibt es die Ortszeit: Weitere Informationen finden Sie unter Qt::TimeSpec.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch fixedSecondsAheadOfUtc() und asBackendZone().
CFTimeZoneRef QTimeZone::toCFTimeZone() const
Erstellt ein CFTimeZone-Objekt aus einem „ QTimeZone “-Objekt.
Der Aufrufer ist Eigentümer des CFTimeZone-Objekts und dafür verantwortlich, es freizugeben.
Siehe auch fromCFTimeZone().
NSTimeZone *QTimeZone::toNSTimeZone() const
Erstellt eine `NSTimeZone` aus einem ` QTimeZone`.
Das NSTimeZone-Objekt wird automatisch freigegeben.
Siehe auch ` fromNSTimeZone()`().
QTimeZone::OffsetDataList QTimeZone::transitions(const QDateTime &fromDateTime, const QDateTime &toDateTime) const
Gibt eine Liste aller Zeitzonenwechsel zwischen den angegebenen Datums- und Zeitangaben zurück.
Die angegebenen Werte „ fromDateTime “ und „ toDateTime “ sind inklusive. Das Element „ atUtc “ jedes Eintrags beschreibt den Zeitpunkt des Wechsels, zu dem die durch andere Elemente angegebenen Offsets und Abkürzungen wirksam werden.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch hasTransitions(), nextTransition() und previousTransition().
[static] QTimeZone QTimeZone::utc()
Gibt ein „ QTimeZone “-Objekt zurück, das UTC als Zeitzone beschreibt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist. Sie entspricht der Übergabe von 0 an „ QTimeZone(int offsetSeconds)“ und an die vereinfachte Zeitdarstellung „ QTimeZone(QTimeZone::UTC)“, ist jedoch im Gegensatz zu letzterer als Zeitzone implementiert.
Siehe auch systemTimeZone(), Initialization und asBackendZone().
[static] QByteArray QTimeZone::windowsIdToDefaultIanaId(const QByteArray &windowsId)
Gibt die Standard-IANA-ID für eine bestimmte „ windowsId “ zurück.
Da eine Windows-ID mehrere IANA-IDs in verschiedenen Regionen abdecken kann, gibt diese Funktion die am häufigsten verwendete IANA-ID zurück, ohne die Region zu berücksichtigen, und sollte daher mit Bedacht verwendet werden. In der Regel ist es am besten, die Standard-ID für eine bestimmte Region abzufragen.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ ianaIdToWindowsId()“ und „ windowsIdToIanaIds()“.
[static] QByteArray QTimeZone::windowsIdToDefaultIanaId(const QByteArray &windowsId, QLocale::Territory territory)
Gibt die Standard-IANA-ID für eine bestimmte „ windowsId “ und „ territory “ zurück.
Da eine Windows-ID mehrere IANA-IDs innerhalb eines bestimmten Gebiets abdecken kann, wird die in diesem Gebiet am häufigsten verwendete IANA-ID zurückgegeben.
Als Sonderfall gibt „ AnyTerritory “ die Standard-IANA-ID derjenigen IANA-IDs zurück, die keine territoriale Zuordnung haben, während „ World “ die Standard-IANA-ID für die angegebene „ windowsId “ in Gebieten zurückgibt, die keine spezifische Zuordnung dazu haben.
Ist das Ergebnis leer, gibt es keine für das angegebene „ territory “ spezifische IANA-ID für dieses „ windowsId “. In diesem Fall ist es sinnvoll, auf „ windowsIdToDefaultIanaId(windowsId) “ zurückzugreifen.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch ianaIdToWindowsId(), windowsIdToIanaIds() und territory().
[static] QList<QByteArray> QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId)
Gibt alle IANA-IDs für eine bestimmte „ windowsId “ zurück.
Die zurückgegebene Liste ist alphabetisch sortiert.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch „ ianaIdToWindowsId()“ und „ windowsIdToDefaultIanaId()“.
[static] QList<QByteArray> QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId, QLocale::Territory territory)
Gibt alle IANA-IDs für eine bestimmte „ windowsId “ und „ territory “ zurück.
Als Sonderfall wählt AnyTerritory jene IANA-IDs aus, die keinen territorialen Bezug haben, während World den Standardwert für die angegebene windowsId in Gebieten auswählt, die keinen spezifischen Bezug dazu haben.
Die zurückgegebene Liste ist nach der Häufigkeit der Verwendung sortiert, d. h., größere Zonen innerhalb eines Gebiets werden zuerst aufgeführt.
Diese Methode ist nur verfügbar, wenn die Funktion „ timezone “ aktiviert ist.
Siehe auch ianaIdToWindowsId(), windowsIdToDefaultIanaId() und territory().
[noexcept] QTimeZone &QTimeZone::operator=(QTimeZone &&other)
Mit „Move-Assign“ wird „ other “ dieser „ QTimeZone “-Instanz zugewiesen, wodurch das Eigentumsrecht an den Daten auf diese Instanz übertragen wird.
QTimeZone &QTimeZone::operator=(const QTimeZone &other)
Zuweisungsoperator: Weise „ other “ diesem Element zu.
Dokumentation zu Member-Variablen
const int QTimeZone::MaxUtcOffsetSecs
Es wird erwartet, dass die Zeitverschiebungen gegenüber UTC nicht größer sind als dieser Wert.
Die größte UTC-Abweichung einer Zeitzone zu Beginn des 21. Jahrhunderts beträgt +14 Stunden (Weihnachtsinsel, Kiribati, Kiritimati) bzw. 14 Stunden östlich von Greenwich.
Historisch gesehen galt vor 1867, als Russland Alaska an die USA verkaufte, in Alaska dasselbe Datum wie in Russland, sodass die Zeitverschiebungen mehr als 15 Stunden östlich von Greenwich betrugen. Da in Alaska die lokale mittlere Sonnenzeit verwendet wurde, variierten die Zeitverschiebungen, lagen jedoch alle unter 16 Stunden östlich von Greenwich.
Siehe auch MinUtcOffsetSecs.
const int QTimeZone::MinUtcOffsetSecs
Es wird erwartet, dass die Zeitverschiebungen gegenüber UTC nicht geringer sind als dieser Wert.
Die geringste UTC-Abweichung aller Zeitzonen zu Beginn des 21. Jahrhunderts beträgt -12 Stunden (Baker Island, USA) bzw. 12 Stunden westlich von Greenwich.
Historisch gesehen verwendeten die Philippinen (damals unter spanischer Herrschaft) bis 1844 denselben Kalender wie die spanischen Besitzungen in Amerika und wiesen daher Abweichungen von fast 16 Stunden westlich von Greenwich auf. Da die Philippinen die lokale mittlere Sonnenzeit verwendeten, ist es möglich, dass einige abgelegene Gebiete des Landes mehr als 16 Stunden westlich von Greenwich lagen, doch keine Zeitzone des frühen 21. Jahrhunderts lässt sich historisch auf ein solches Extrem zurückführen.
Siehe auch MaxUtcOffsetSecs.
Verwandte Nichtmitglieder
[noexcept] bool operator!=(const QTimeZone &lhs, const QTimeZone &rhs)
Gibt „ true “ zurück, wenn die Zeitzone „ lhs “ nicht mit der Zeitzone „ rhs “ übereinstimmt.
Zwei Darstellungen unterscheiden sich, wenn sie intern unterschiedlich beschrieben werden, selbst wenn sie in ihrer Darstellung aller Zeitpunkte übereinstimmen. Insbesondere kann eine vereinfachte Zeitdarstellung mit einer Zeitzone übereinstimmen, doch sind die beiden nicht gleich.
[noexcept] bool operator==(const QTimeZone &lhs, const QTimeZone &rhs)
Gibt „ true “ zurück, wenn die Zeitzone „ lhs “ mit der Zeitzone „ rhs “ übereinstimmt.
Zwei Darstellungen sind unterschiedlich, wenn sie intern unterschiedlich beschrieben werden, selbst wenn sie in ihrer Darstellung aller Zeitpunkte übereinstimmen. Insbesondere kann eine vereinfachte Zeitdarstellung mit einer Zeitzone übereinstimmen, doch sind die beiden nicht gleich.
© 2026 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.