QTimeZone Class
QTimeZone identifiziert, wie sich eine Zeitdarstellung zu UTC verhält. Mehr...
Kopfzeile: | #include <QTimeZone> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Diese Klasse ist gleichwertig-vergleichbar.
Hinweis: Alle Funktionen in dieser Klasse sind thread-sicher.
Ö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 = QTimeZone::DefaultName, const QLocale &locale = QLocale()) const |
QString | displayName(const QDateTime &atDateTime, QTimeZone::NameType nameType = QTimeZone::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 int *timeZone) |
QByteArray | ianaIdToWindowsId(const QByteArray &ianaId) |
bool | isTimeZoneIdAvailable(const QByteArray &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) |
Detaillierte Beschreibung
Wenn Daten und Zeiten kombiniert werden, hängt die Bedeutung des Ergebnisses davon ab, wie die Zeit dargestellt wird. Es gibt verschiedene internationale Standards für die 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 bietet einen zustandslosen Rechner für Konvertierungen zwischen UTC und anderen Zeitdarstellungen.
Einige Zeitdarstellungen sind einfach mit einem festen Offset zu UTC definiert. Andere werden von Regierungen für die Verwendung in ihrem Zuständigkeitsbereich definiert. Letztere sind eigentlich als Zeitzonen bekannt, aber QTimeZone (seit Qt 6.5) vereinheitlicht ihre Darstellung mit der von allgemeinen Zeitsystemen. Eine Zeitzone, die im Allgemeinen von den meisten Betriebssystemen 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 festem Abstand zur UTC kann Qt nur dann Unterstützung bieten, wenn das Betriebssystem eine Möglichkeit zum Zugriff auf diese Informationen bietet. Wenn Qt gebaut wird, steuert die Funktion timezone
, ob solche Informationen verfügbar sind. Wenn dies nicht der Fall ist, sind einige Konstruktoren und Methoden von QTimeZone von seiner API ausgeschlossen; diese sind als abhängig von der Funktion timezone
dokumentiert. Beachten Sie, dass selbst wenn Qt mit aktivierter Funktion gebaut wird, diese Funktion für Benutzer, deren Systeme falsch konfiguriert sind oder auf denen einige Standardpakete (z.B. das tzdata
Paket unter Linux) nicht installiert sind, nicht verfügbar sein kann. Diese Funktion ist standardmäßig aktiviert, wenn Zeitzoneninformationen verfügbar sind.
Diese Klasse ist in erster Linie für die Verwendung in QDateTime gedacht; die meisten Anwendungen werden nicht direkt auf diese Klasse zugreifen müssen und sollten stattdessen eine Instanz von ihr verwenden, wenn sie eine QDateTime erstellen.
Hinweis: Aus Gründen der Konsistenz mit QDateTime berücksichtigt QTimeZone keine Schaltsekunden.
Bemerkungen
QTimeZone misst, wie QDateTime, die Abweichung von der UTC in Sekunden. Dies steht im Gegensatz zur allgemeinen Zeitmessung, die in Millisekunden vorgenommen wird. Zeitzonen in der realen Welt haben in der Regel UTC-Abweichungen, die ganzzahlige Vielfache von fünf Minuten (300 Sekunden) sind, zumindest seit weit vor 1970. Ein positiver Offset von UTC ergibt eine Zeitdarstellung, die den Mittag eines bestimmten Tages vor den UTC-Mittag dieses Tages setzt; ein negativer Offset setzt den Mittag nach dem UTC-Mittag desselben Tages.
Leichte Zeitrepräsentationen
QTimeZone kann UTC, Ortszeit und feste Zeitabweichungen von UTC darstellen, auch wenn das Feature timezone
deaktiviert ist. Die Form, in der dies geschieht, ist auch verfügbar, wenn das Feature aktiviert ist; es handelt sich um eine leichtere Form und die Verarbeitung, die sie verwendet, ist normalerweise effizienter, es sei denn, es werden Methoden verwendet, die nur verfügbar sind, wenn das Feature timezone
aktiviert ist. Siehe Initialization und QTimeZone::fromSecondsAheadOfUtc(int) für die Konstruktion dieser Darstellungen.
Diese Dokumentation unterscheidet zwischen "Zeitzone", die verwendet wird, um eine Zeitdarstellung zu beschreiben, die durch vom System gelieferte oder Standardinformationen beschrieben wird, und Zeitdarstellungen im Allgemeinen, die diese leichtgewichtigen Formen umfassen. Die Methoden, die nur zur Verfügung stehen, wenn das Feature timezone
aktiviert ist, sind für Zeitzonen wahrscheinlich billiger als für leichtgewichtige Zeitrepräsentationen, für die diese Methoden ein geeignetes transientes Zeitzonenobjekt konstruieren können, an das die Anfrage 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 Standard-ID für alle unterstützten Plattformen sichergestellt werden. Die meisten Plattformen unterstützen die IANA-IDs und die IANA-Datenbank von Haus aus, aber für Windows ist eine Zuordnung zu den nativen IDs erforderlich. Siehe unten für weitere Einzelheiten.
Die IANA-IDs können sich regelmäßig ändern und variieren, je nachdem, wie kürzlich die Daten des Hostsystems aktualisiert wurden. Daher können Sie sich nicht darauf verlassen, dass eine bestimmte ID auf einem beliebigen 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 Compiler der Datenbank.
UTC-Offset-Zeitzonen
Es wird ein Standard-UTC-Zeitzonen-Backend bereitgestellt, das immer verfügbar ist, wenn die Funktion timezone
aktiviert ist. Es bietet eine Reihe allgemeiner UTC-Offset-Zeitzonen im Bereich von UTC-16:00 bis UTC+16:00. Diese Zeitzonen können entweder unter Verwendung der Standardnamen im ISO-Format, wie "UTC+00:00", wie unter availableTimeZoneIds() aufgeführt, oder unter Verwendung eines Namens ähnlicher Form in Kombination mit der Anzahl der Offset-Sekunden erstellt werden.
Windows-Zeitzonen
Die Unterstützung der Windows-eigenen Zeitzonen ist im Vergleich zur standardmäßigen IANA-TZ-Datenbank stark eingeschränkt. Windows-Zeitzonen decken größere geografische Gebiete ab und sind daher weniger genau in ihren Umrechnungen. Sie unterstützen auch nicht so viele historische Daten und sind daher möglicherweise nur für das laufende Jahr genau. Wenn in den Zonendaten von MS behauptet wird, dass die Sommerzeit vor 1900 galt (was historisch gesehen nicht stimmt), wird diese Behauptung ignoriert, und es wird davon ausgegangen, dass die (angeblich) im Jahr 1900 geltende Standardzeit immer in Kraft war.
QTimeZone verwendet eine Konvertierungstabelle, die aus den Unicode-CLDR-Daten abgeleitet ist, um zwischen IANA-IDs und Windows-IDs zu unterscheiden. Abhängig von Ihrer Windows- und Qt-Version ist diese Tabelle möglicherweise nicht in der Lage, eine gültige Konvertierung zu liefern, bei der "UTC" zurückgegeben wird.
QTimeZone bietet eine öffentliche API zur Verwendung dieser Konvertierungstabelle. Die verwendete Windows-ID ist der Windows-Registrierungsschlüssel für die Zeitzone, der auch die EWS-ID von MS Exchange ist, sich aber von dem Zeitzonennamen (TZID) und dem COD-Code unterscheidet, die von MS Exchange in Versionen vor 2007 verwendet werden.
Hinweis: Wenn Qt mit der ICU-Bibliothek gebaut wird, wird diese anstelle der Windows-System-APIs verwendet, wodurch alle Probleme mit diesen APIs, die unterschiedliche Namen verwenden, umgangen werden.
Systemzeitzone
Die Methode systemTimeZoneId() gibt die aktuelle IANA-Zeitzonen-ID des Systems zurück, die auf Unix-ähnlichen Systemen immer korrekt sein wird. Unter Windows wird diese ID aus der Windows-System-ID mit Hilfe einer internen Übersetzungstabelle und dem vom Benutzer gewählten Land übersetzt. Daher besteht eine kleine Chance, dass eine Windows-Installation IDs hat, die Qt nicht kennt. In diesem Fall wird "UTC" zurückgegeben.
Das Erstellen einer neuen QTimeZone Instanz unter Verwendung der Systemzeitzonen ID wird nur eine fest benannte Kopie der Zeitzone erzeugen, sie wird sich nicht ändern, wenn sich die Systemzeitzone ändert. QTimeZone::systemTimeZone() gibt eine Instanz zurück, die die durch diese System-ID benannte Zone repräsentiert. Beachten Sie, dass sich die Erstellung einer QDateTime mit dieser Systemzone anders verhalten kann als die Erstellung einer QDateTime, die Qt::LocalTime als Qt::TimeSpec verwendet, da letztere direkt die System-APIs für den Zugriff auf lokale Zeitinformationen verwendet, die sich anders verhalten können (und sich insbesondere anpassen können, wenn der Benutzer die Einstellung der Systemzone ändert).
Zeitzonen-Offsets
Der Unterschied zwischen UTC und der Ortszeit in einer Zeitzone wird als Offset in Sekunden von UTC ausgedrückt, d. h. als die Anzahl der Sekunden, die zur UTC hinzugezählt 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 hinzugezählt werden müssen, um die Standardzeit in der Zeitzone zu erhalten. Der Sommerzeit-Offset ist die Anzahl der Sekunden, die zum Standardzeit-Offset addiert werden müssen, um die Sommerzeit (abgekürzt DST und manchmal auch "Daylight Time" oder "Summer Time" genannt) in der Zeitzone zu erhalten. Der Normalfall für die Sommerzeit (Standardzeit im Winter, Sommerzeit im Sommer) hat eine positive Sommerzeitverschiebung. In einigen Zonen gibt es jedoch negative Sommerzeitverschiebungen, die im Winter verwendet werden, während im Sommer die Standardzeit gilt.
Beachten Sie, dass sich die Standard- und Sommerzeitverschiebungen für eine Zeitzone im Laufe der Zeit ändern können, da die Länder die Sommerzeitgesetze oder sogar ihre Standardzeitverschiebung geändert haben.
Lizenz
Diese Klasse enthält Daten, die aus den CLDR-Datendateien unter den Bedingungen der Unicode Data Files and Software License gewonnen wurden. Siehe Unicode Common Locale Data Repository (CLDR) für weitere Informationen.
Siehe auch QDateTime und QCalendar.
Dokumentation der Mitgliedstypen
[since 6.5]
enum QTimeZone::Initialization
Der Typ der einfachsten leichtgewichtigen Zeitdarstellungen.
Diese Aufzählung identifiziert einen Typ der leichtgewichtigen Zeitdarstellung, der an einen QTimeZone Konstruktor übergeben wird, wo 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 verwenden, um zwischen Ortszeit und UTC-Zeit zu unterscheiden. |
QTimeZone::UTC | 1 | Diese Zeitdarstellung, Coordinated Universal Time, ist die Basisdarstellung, auf die sich die Zivilzeit in allen unterstützten Zeitdarstellungen bezieht. Sie wird von der International Telecommunication Union definiert. |
Diese Aufzählung wurde in Qt 6.5 eingeführt.
enum QTimeZone::NameType
Der Typ des Namens der Zeitzone.
Konstante | Wert | Beschreibung |
---|---|---|
QTimeZone::DefaultName | 0 | Die Standardform des Zeitzonennamens, eine von LongName, ShortName oder OffsetName |
QTimeZone::LongName | 1 | Die lange Form des Zeitzonennamens, z. B. "Central European Time". |
QTimeZone::ShortName | 2 | Die Kurzform des Zeitzonennamens, in der Regel eine Abkürzung, z. B. "CET", in Ländern, die eine solche für die Zone haben, ansonsten eine kompakte GMT-Offsetform, z. B. "GMT+1". |
QTimeZone::OffsetName | 3 | Die standardmäßige ISO-Offsetform 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
Die Art der Zeitzonenzeit, z. B. bei der Abfrage des Namens. In Zeitzonen, in denen keine Sommerzeit gilt, können alle drei Werte das gleiche Ergebnis liefern.
Konstante | Wert | Beschreibung |
---|---|---|
QTimeZone::StandardTime | 0 | Die Standardzeit in einer Zeitzone, d.h. wenn die Sommerzeit nicht gilt. Bei der Formatierung eines Anzeigenamens wird z. B. "Pacific Standard Time" angezeigt. |
QTimeZone::DaylightTime | 1 | Eine Zeit, in der die Sommerzeit in Kraft ist. Bei der Formatierung eines Anzeigenamens wird z. B. "Pazifische Sommerzeit" angezeigt. |
QTimeZone::GenericTime | 2 | Eine Zeit, die nicht speziell Standardzeit oder Sommerzeit ist, entweder eine unbekannte Zeit oder eine neutrale Form. Bei der Formatierung eines Anzeigenamens wird z. B. "Pazifische Zeit" angezeigt. |
Dieser Typ ist nur verfügbar, wenn die Funktion timezone
aktiviert ist.
Dokumentation der Mitgliederfunktionen
[static, since 6.5]
QTimeZone QTimeZone::fromDurationAheadOfUtc(std::chrono::seconds offset)
[static, since 6.5]
QTimeZone QTimeZone::fromSecondsAheadOfUtc(int offset)
Liefert eine Zeitdarstellung mit einem festen offset, in Sekunden, vor UTC.
offset muss im Bereich von -16 Stunden bis +16 Stunden von UTC liegen, andernfalls wird eine ungültige Zeitzone zurückgegeben. Bei der zurückgegebenen QTimeZone handelt es sich um eine leichtgewichtige Zeitdarstellung, nicht um eine Zeitzone (die durch vom System bereitgestellte oder Standarddaten unterstützt wird).
Wenn der Offset 0 ist, wird timeSpec() der zurückgegebenen Instanz Qt::UTC sein. Andernfalls, wenn offset gültig ist, ist timeSpec() Qt::OffsetFromUTC. Eine ungültige Zeitzone hat, wenn sie zurückgegeben wird, Qt::TimeZone als timeSpec().
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch QTimeZone(int), asBackendZone(), fixedSecondsAheadOfUtc(), MinUtcOffsetSecs, und MaxUtcOffsetSecs.
[noexcept]
QTimeZone::QTimeZone()
Erstellen Sie eine ungültige Zeitzoneninstanz.
[noexcept, since 6.5]
QTimeZone::QTimeZone(QTimeZone::Initialization spec)
Erzeugt eine leichtgewichtige 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)
Erzeugt 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. Für UTC-with-offset IDs, wenn sie nicht tatsächlich IANA IDs sind, kann die id()
der resultierenden Instanz von der an den Konstruktor übergebenen ID abweichen.
Dieser Konstruktor ist nur verfügbar, wenn das Feature timezone
aktiviert ist.
Siehe auch availableTimeZoneIds() und id().
[explicit]
QTimeZone::QTimeZone(int offsetSeconds)
Erzeugt eine Zeitzoneninstanz mit dem angegebenen Offset offsetSeconds von UTC.
offsetSeconds muss im Bereich von -16 Stunden bis +16 Stunden von UTC 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 leichtgewichtigen Zeitdarstellung QTimeZone::fromSecondsAheadOfUtc(offsetSeconds)
, die allerdings als Zeitzone implementiert ist.
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())
Erzeugt eine benutzerdefinierte Zeitzoneninstanz mit festem Abstand zur UTC.
Die zurückgegebene Zeitzone hat eine ID von zoneId und eine Abweichung von UTC von offsetSeconds. name ist der Name, der von displayName() für LongName verwendet wird, abbreviation wird von displayName() für ShortName und von abbreviation() verwendet, und der optionale territory wird von territory() verwendet. comment ist ein optionaler Hinweis, der in einer grafischen Benutzeroberfläche angezeigt werden kann, um die Benutzer bei der Auswahl einer Zeitzone zu unterstützen.
Die offsetSeconds von UTC muss im Bereich von -16 Stunden bis +16 Stunden liegen. zoneId darf keine ID sein, für die isTimeZoneIdAvailable() wahr ist, es sei denn, es handelt sich um einen Namen mit UTC-Abweichung, der nicht in availableTimeZoneIds() erscheint.
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)
Kopieren Sie den Konstruktor: Kopieren Sie other auf diesen.
[noexcept]
QTimeZone::QTimeZone(QTimeZone &&other)
Verschieben Sie den Konstruktor von this von other.
[noexcept]
QTimeZone::~QTimeZone()
Zerstört die Zeitzone.
QString QTimeZone::abbreviation(const QDateTime &atDateTime) const
Gibt die Abkürzung der Zeitzone unter der angegebenen Adresse atDateTime zurück.
Die Abkürzung kann sich je nach Sommerzeit oder historischen Ereignissen ändern.
Hinweis: Es ist nicht garantiert, dass die Abkürzung für diese Zeitzone eindeutig ist und sollte nicht anstelle der ID oder des Anzeigenamens verwendet werden. Die Abkürzung kann je nach dem zugrunde liegenden Betriebssystem lokalisiert sein. Um eine einheitliche Lokalisierung zu erhalten, 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 diese QTimeZone in eine um, deren timeSpec() Qt::TimeZone ist.
In allen Fällen ist die timeSpec() des Ergebnisses Qt::TimeZone. Wenn timeSpec() von QTimeZone gleich Qt::TimeZone ist, wird QTimeZone selbst zurückgegeben. Wenn timeSpec() gleich Qt::LocalTime ist, wird systemTimeZone() zurückgegeben.
Wenn timeSpec() gleich Qt::UTC ist, wird QTimeZone::utc() zurückgegeben. Wenn es Qt::OffsetFromUTC ist, wird QTimeZone(int) sein Offset übergeben, und das Ergebnis wird zurückgegeben.
Bei der Verwendung einer leichtgewichtigen Zeitdarstellung - Ortszeit, UTC-Zeit oder Zeit mit einem festen Offset von UTC - kann die Verwendung von Methoden, die nur unterstützt werden, wenn die Funktion timezone
aktiviert ist, teurer sein als die Verwendung einer entsprechenden Zeitzone. Diese Methode ordnet eine leichtgewichtige Zeitdarstellung einer entsprechenden Zeitzone zu - d. h. 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 aller verfügbaren IANA-Zeitzonen-IDs auf diesem System zurück.
Diese Methode ist nur verfügbar, wenn die Funktion timezone
aktiviert ist.
Hinweis: Der QTimeZone Konstruktor 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.
Siehe auch isTimeZoneIdAvailable().
[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 diejenigen Zeitzonen aus, die eine nicht-territoriale Assoziation haben, wie z. B. UTC, während World die Zeitzonen auswählt, für die es eine globale Standard-IANA-ID gibt. Wenn Sie eine Liste aller Zeitzonen-IDs für alle Territorien 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 gegebenen Standardzeit-Offset von offsetSeconds zurück.
Wenn der angegebene Offset unterstützt wird, wird QTimeZone(offsetSeconds).id()
in die Liste aufgenommen, auch wenn es sich nicht um eine IANA-ID handelt. Dies ist nur dann der Fall, wenn es keine IANA-UTC-Offset-ID mit dem angegebenen Offset 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 für die 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 Kommentar 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 atDateTime zurück, d. h. die Anzahl der Sekunden, die zum Standardzeit-Offset addiert werden müssen, um die lokale Sommerzeit zu erhalten.
Zum Beispiel beträgt der Sommerzeit-Offset für die Zeitzone "Europa/Berlin" +3600 Sekunden. Während der Standardzeit gibt daylightTimeOffset() 0 zurück, und wenn die Sommerzeit in Kraft ist, gibt sie +3600 zurück.
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 = QTimeZone::DefaultName, const QLocale &locale = QLocale()) const
Gibt den Anzeigenamen der lokalisierten Zeitzone zurück.
Der zurückgegebene Name ist derjenige für die angegebene locale, der gilt, wenn die angegebene timeType in Kraft ist und die durch nameType angegebene Form aufweist. Wenn sich die Namen der Zeitzonenanzeigen im Laufe der Zeit geändert haben, werden die aktuellen Namen verwendet. Ist kein geeigneter lokalisierter Name des angegebenen Typs verfügbar, kann ein anderer Namenstyp verwendet oder eine leere Zeichenkette zurückgegeben werden.
Wenn locale nicht angegeben wird, wird das Standardgebietsschema der Anwendung verwendet. Für benutzerdefinierte Zeitzonen, die durch Client-Code erstellt wurden, werden die dem Konstruktor übergebenen Daten verwendet, da keine Lokalisierungsdaten für sie verfügbar sind. Wenn diese Zeitzone ungültig ist, wird ein leerer String zurückgegeben. Dies kann auch bei der Darstellung der lokalen Zeit vorkommen, wenn die Bestimmung 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 = QTimeZone::DefaultName, const QLocale &locale = QLocale()) const
Gibt den Anzeigenamen der lokalisierten Zeitzone zurück.
Der zurückgegebene Name ist derjenige für die angegebene locale, gilt für die angegebene atDateTime und hat die durch nameType angegebene Form. Der Anzeigename kann sich je nach Sommerzeit oder historischen Ereignissen ändern. Wenn kein geeignet lokalisierter Name des angegebenen Typs verfügbar ist, kann ein anderer Namenstyp verwendet oder eine leere Zeichenkette zurückgegeben werden.
Wenn locale nicht angegeben wird, wird das Standardgebietsschema der Anwendung verwendet. Für benutzerdefinierte Zeitzonen, die durch Client-Code erstellt wurden, werden die an den Konstruktor übergebenen Daten verwendet, da für sie keine Lokalisierungsdaten verfügbar sind. Wenn diese Zeitzone ungültig ist, wird ein leerer String zurückgegeben. Dies kann auch bei der Darstellung der lokalen Zeit vorkommen, wenn die Bestimmung 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() Qt::OffsetFromUTC ist, gibt dies den festen Abstand von UTC zurück, den sie beschreibt. Für jede andere Zeitdarstellung wird 0 zurückgegeben, selbst wenn diese Zeitdarstellung einen konstanten Abstand zu UTC hat.
Diese Funktion wurde in Qt 6.5 eingeführt.
[static]
QTimeZone QTimeZone::fromCFTimeZone(CFTimeZoneRef timeZone)
Konstruiert eine neue QTimeZone, die eine Kopie der CFTimeZone timeZone enthält.
Siehe auch toCFTimeZone().
[static]
QTimeZone QTimeZone::fromNSTimeZone(const NSTimeZone *timeZone)
Konstruiert eine neue QTimeZone, die eine Kopie der NSTimeZone timeZone enthält.
Siehe auch toNSTimeZone().
[static, since 6.4]
QTimeZone QTimeZone::fromStdTimeZonePtr(const int *timeZone)
Gibt ein QTimeZone Objekt zurück, das die gleiche Zeitzone wie timeZone repräsentiert. 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 (früher Olson) hat im Laufe ihrer Geschichte einige Zonen umbenannt. Es gibt auch einige Zonen, die sich nur vor 1970 unterschieden, jetzt aber als synonym behandelt werden. Einige Backends verfügen möglicherweise über Daten, die bis in die Zeit vor 1970 reichen, und erzeugen im letzteren Fall unterschiedliche Zonen. Andere können Zonen erzeugen, die außer durch id() nicht unterscheidbar sind. Diese Methode ermittelt, ob sich eine ID (zumindest seit 1970) auf dieselbe Zone 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.
bool QTimeZone::hasDaylightTime() const
Gibt true
zurück, wenn die Zeitzone zu irgendeinem Zeitpunkt Sommerzeit praktiziert hat.
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 den Erhalt von Übergängen unterstützt.
Übergänge sind Änderungen in der Zeitzone: Diese treten auf, wenn die Sommerzeit ein- oder ausgeschaltet wird und wenn Behörden die Offsets für die Zeitzone ändern.
Diese Methode ist nur verfügbar, wenn die Funktion timezone
aktiviert ist.
Siehe auch nextTransition(), previousTransition(), und transitions().
[static]
QByteArray QTimeZone::ianaIdToWindowsId(const QByteArray &ianaId)
Gibt die Windows-ID zurück, die der 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 aus einer IANA-ID erstellt wurde, wird ihre ID dadurch bestimmt, wie sie erstellt wurde. In den meisten Fällen wird die beim Erstellen der Instanz übergebene ID verwendet. (Der Konstruktor für eine benutzerdefinierte Zone verwendet die ihm übergebene ID, die keine IANA-ID sein darf.) Es gibt zwei Ausnahmen.
- Bei Instanzen, die nur durch Übergabe eines UTC-Offsets in Sekunden erstellt werden, wird bei der Erstellung keine ID übergeben.
- Der Konstruktor, der nur eine IANA-ID annimmt, akzeptiert auch einige UTC-Offset-IDs, die eigentlich keine IANA-IDs sind: seine Behandlung dieser ist äquivalent zur Übergabe des entsprechenden Offsets in Sekunden, wie bei der ersten Ausnahme.
In den beiden Ausnahmefällen, wenn es eine IANA UTC-Offset-Zone mit dem angegebenen Offset gibt, verwendet die konstruierte Instanz die ID dieser IANA-Zone, auch wenn diese von der (nicht IANA) UTC-Offset-ID, die dem Konstruktor übergeben wurde, abweichen kann. Andernfalls verwendet die Instanz eine ID, die aus ihrem Offset synthetisiert wird, in der Form UTC±hh:mm:ss, wobei ein nachgestelltes :00 für Null-Sekunden oder -Minuten weggelassen wird. Auch hier kann diese ID 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 an der angegebenen atDateTime die Sommerzeit in Kraft war.
Diese Methode ist nur verfügbar, wenn die Funktion timezone
aktiviert ist.
Siehe auch hasDaylightTime() und daylightTimeOffset().
[static]
bool QTimeZone::isTimeZoneIdAvailable(const QByteArray &ianaId)
Gibt true
zurück, wenn eine bestimmte Zeitzone ianaId auf diesem System verfügbar ist.
Dies kann einige Nicht-IANA-IDs umfassen, insbesondere UTC-Offset-IDs, die nicht in availableTimeZoneIds() aufgeführt sind.
Diese Methode ist nur verfügbar, wenn die Funktion timezone
aktiviert ist.
Siehe auch availableTimeZoneIds().
[constexpr noexcept, since 6.5]
bool QTimeZone::isUtcOrFixedOffset() const
Gibt true
zurück, wenn timeSpec() Qt::UTC oder Qt::OffsetFromUTC ist.
Wenn es true ist, ändert sich die Zeitbeschreibung nicht im Laufe der Zeit, z. B. bei saisonalen Sommerzeitänderungen, wie es bei der Ortszeit oder einer Zeitzone der Fall sein kann. Dies zu wissen, kann dem aufrufenden Code verschiedene andere Ü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 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 der angegebenen afterDateTime zurück. Dies ist sehr nützlich, wenn Sie eine Übergangszeit haben und den Übergang danach finden möchten.
Wenn es keinen Übergang nach dem angegebenen afterDateTime gibt, wird ein ungültiger 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 effektiven Offset-Details unter der angegebenen forDateTime zurück.
Dies ist gleichbedeutend mit dem Aufruf von abbreviation() und allen drei Offset-Funktionen einzeln, kann aber effizienter sein und eine andere Lokalisierung für die Abkürzung erhalten. Wenn diese Daten für den angegebenen Zeitpunkt nicht verfügbar sind, wird ein ungültiges 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 Offset für die angegebene atDateTime zurück, d. h. die Anzahl der Sekunden, die zur UTC addiert werden müssen, um die Ortszeit zu erhalten. Darin enthalten ist eine eventuell geltende Sommerzeitverschiebung, d. h. die Summe aus standardTimeOffset() und daylightTimeOffset() für den angegebenen Zeitpunkt.
Zum Beispiel beträgt für die Zeitzone "Europa/Berlin" der Standardzeit-Offset +3600 Sekunden und der DST-Offset +3600 Sekunden. Während der Standardzeit gibt offsetFromUtc() +3600 (UTC+01:00) zurück, während der Sommerzeit +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 sehr nützlich, wenn Sie eine Übergangszeit haben und den Übergang davor finden möchten.
Wenn es keinen Übergang vor dem angegebenen beforeDateTime gibt, wird ein ungültiger OffsetData mit einem ungültigen QDateTime als atUtc
zurückgegeben.
Die 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
Liefert den Standardzeit-Offset für die angegebene atDateTime, d.h. die Anzahl der Sekunden, die zur UTC addiert werden müssen, um die lokale Standardzeit zu erhalten. Dies schließt eine eventuell geltende Sommerzeitverschiebung aus.
Für die Zeitzone "Europa/Berlin" beträgt die Standardzeitverschiebung beispielsweise +3600 Sekunden. Sowohl während der Standardzeit als auch der Sommerzeit gibt offsetFromUtc() +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 mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie 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 leichtgewichtigen Zeitdarstellung QTimeZone(QTimeZone::LocalTime)
, auch wenn sie als Zeitzone implementiert ist.
Das zurückgegebene Objekt wird sich nicht ändern, um eine spätere Änderung der Systemzeitzone widerzuspiegeln. Es repräsentiert die lokale Zeit, die beim Aufruf von asBackendZone() gültig war. Auf falsch konfigurierten Systemen, z.B. solchen, denen die Zeitzonendaten fehlen, auf die sich das Backend verlässt, 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 aktuelle IANA-ID der Systemzeitzone zurück.
Entspricht dem Aufruf von systemTimeZone().id(), umgeht aber möglicherweise einige Berechnungen, um sie zu erhalten. Die Konstruktion einer QTimeZone aus dem zurückgegebenen Byte-Array liefert das gleiche Ergebnis wie systemTimeZone().
Wenn das Backend nicht in der Lage ist, die richtige Systemzone zu ermitteln, ist das Ergebnis leer. In diesem Fall ist systemTimeZone().isValid() ist falsch und eine Warnung wird ausgegeben, wenn entweder diese Methode oder systemTimeZone() aufgerufen wird.
Wenn das Backend zwar die richtige Systemzone, aber nicht deren Namen ermitteln kann, wird ein leeres Byte-Array zurückgegeben. Unter Windows wird zum Beispiel die systemeigene ID in eine IANA-ID umgewandelt - wenn die System-ID dem internen Übersetzungscode nicht bekannt ist, ist das Ergebnis leer. In diesem Fall muss systemTimeZone().isValid() wahr sein.
Diese Methode ist nur verfügbar, wenn das Feature 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 für die Zeitzone zurück.
Die Rückgabe von AnyTerritory bedeutet, dass die Zone keine bekannte territoriale Zuordnung hat. In einigen Fällen kann dies daran liegen, dass die Zone kein zugehöriges Territorium hat - zum Beispiel UTC - oder dass die Zone in mehreren Territorien verwendet wird - zum Beispiel CET. In anderen Fällen kann es sein, dass das QTimeZone Backend nicht weiß, welchem Gebiet die Zone zugeordnet ist - zum Beispiel, weil sie nicht die primäre Zone 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 eine Qt::TimeSpec zurück, die den Typ der Zeitdarstellung identifiziert.
Wenn das Ergebnis Qt::TimeZone ist, handelt es sich bei dieser Zeitbeschreibung um eine Zeitzone (unterstützt durch vom System bereitgestellte oder Standarddaten); andernfalls ist es eine leichtgewichtige Zeitdarstellung. Wenn das Ergebnis Qt::LocalTime ist, beschreibt es die lokale Zeit: siehe Qt::TimeSpec für Details.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch fixedSecondsAheadOfUtc() und asBackendZone().
CFTimeZoneRef QTimeZone::toCFTimeZone() const
Erzeugt eine CFTimeZone aus einer QTimeZone.
Der Aufrufer ist Eigentümer des CFTimeZone-Objekts und dafür verantwortlich, es wieder freizugeben.
Siehe auch fromCFTimeZone().
NSTimeZone *QTimeZone::toNSTimeZone() const
Erzeugt eine NSTimeZone aus einer QTimeZone.
Das NSTimeZone-Objekt wird automatisch wieder freigegeben.
Siehe auch fromNSTimeZone().
QTimeZone::OffsetDataList QTimeZone::transitions(const QDateTime &fromDateTime, const QDateTime &toDateTime) const
Gibt eine Liste aller Zeitzonenübergänge zwischen den angegebenen Zeitpunkten zurück.
Die angegebenen fromDateTime und toDateTime sind inklusive. Das Element atUtc
jedes Eintrags beschreibt den Zeitpunkt des Übergangs, zu dem die in den anderen Elementen 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 ist gleichbedeutend mit der Übergabe von 0 an QTimeZone(int offsetSeconds) und an die leichtgewichtige Zeitdarstellung QTimeZone(QTimeZone::UTC), obwohl sie im Gegensatz zu letzterer als Zeitzone implementiert ist.
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 Gebieten abdecken kann, gibt diese Funktion die am häufigsten verwendete IANA-ID ohne Rücksicht auf das Gebiet zurück und sollte daher mit Vorsicht verwendet werden. In der Regel ist es am besten, den Standardwert für ein bestimmtes Gebiet anzufordern.
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 ein bestimmtes windowsId und territory zurück.
Da eine Windows-ID mehrere IANA-IDs in einem bestimmten Gebiet abdecken kann, wird die am häufigsten verwendete IANA-ID in diesem Gebiet zurückgegeben.
Als Sonderfall gibt AnyTerritory den Standardwert der IANA-IDs zurück, die keine territoriale Zuordnung haben, während World den Standardwert für die gegebene windowsId in Territorien zurückgibt, die keine spezifische Zuordnung zu ihr haben.
Wenn der Rückgabewert leer ist, gibt es keine spezifische IANA-ID für die angegebene territory für diese 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 ein bestimmtes windowsId und territory zurück.
Als Sonderfall wählt AnyTerritory diejenigen IANA-IDs aus, die keine territoriale Zuordnung haben, während World die Standardwerte für das angegebene windowsId in Gebieten auswählt, die keine spezifische Zuordnung haben.
Die zurückgegebene Liste ist nach der Häufigkeit der Verwendung geordnet, d. h. die größeren Zonen innerhalb eines Gebiets werden zuerst aufgelistet.
Diese Methode ist nur verfügbar, wenn die Funktion timezone
aktiviert ist.
Siehe auch ianaIdToWindowsId(), windowsIdToDefaultIanaId(), und territory().
[noexcept]
QTimeZone &QTimeZone::operator=(QTimeZone &&other)
Verschieben - weist other dieser QTimeZone Instanz zu und überträgt den Besitz seiner Daten auf diese Instanz.
QTimeZone &QTimeZone::operator=(const QTimeZone &other)
Zuweisungsoperator, weisen Sie other zu.
Dokumentation der Mitgliedsvariablen
const int QTimeZone::MaxUtcOffsetSecs
Es wird erwartet, dass die Zeitzonenabweichungen von der UTC nicht größer sind als diese.
Die höchste UTC-Abweichung einer Zeitzone zu Beginn des 21. Jahrhunderts beträgt +14 Stunden (Weihnachtsinsel, Kiribati, Kiritimati), d. h. 14 Stunden östlich von Greenwich.
Historisch gesehen hatte Alaska vor 1867, als Russland Alaska an Amerika verkaufte, das gleiche Datum wie Russland und damit einen Zeitunterschied von mehr als 15 Stunden östlich von Greenwich. Da Alaska die lokale Sonnenzeit verwendete, variierte der Zeitunterschied, aber alle lagen weniger als 16 Stunden östlich von Greenwich.
Siehe auch MinUtcOffsetSecs.
const int QTimeZone::MinUtcOffsetSecs
Es wird erwartet, dass die Zeitzonenabweichungen von UTC nicht geringer sind als diese.
Die geringste UTC-Abweichung einer Zeitzone zu Beginn des 21. Jahrhunderts beträgt -12 Stunden (Baker Island, USA), also 12 Stunden westlich von Greenwich.
Historisch gesehen verwendeten die Philippinen (damals unter spanischer Kontrolle) bis 1844 dasselbe Datum wie die spanischen Besitztümer in Amerika, so dass die Zeitverschiebung fast 16 Stunden westlich von Greenwich lag. Da auf den Philippinen die lokale Sonnenzeit galt, ist es möglich, dass einige abgelegene Gebiete mehr als 16 Stunden westlich von Greenwich lagen, aber keine Zeitzone des frühen 21. Jahrhunderts weist eine so extreme Abweichung auf.
Siehe auch MaxUtcOffsetSecs.
Verwandte Nicht-Mitglieder
[noexcept]
bool operator!=(const QTimeZone &lhs, const QTimeZone &rhs)
Gibt true
zurück, wenn lhs time zone nicht mit rhs time zone übereinstimmt.
Zwei Darstellungen sind unterschiedlich, wenn sie intern unterschiedlich beschrieben sind, auch wenn sie in ihrer Darstellung aller Zeitpunkte übereinstimmen. Insbesondere kann eine leichtgewichtige Zeitdarstellung mit einer Zeitzone übereinstimmen, aber die beiden werden nicht gleich sein.
[noexcept]
bool operator==(const QTimeZone &lhs, const QTimeZone &rhs)
Gibt true
zurück, wenn lhs time zone gleich der rhs time zone ist.
Zwei Darstellungen sind unterschiedlich, wenn sie intern unterschiedlich beschrieben sind, auch wenn sie in ihrer Darstellung aller Zeitpunkte übereinstimmen. Insbesondere kann eine leichtgewichtige Zeitdarstellung mit einer Zeitzone übereinstimmen, aber die beiden werden nicht gleich sein.
© 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.