Sur cette page

QTimeZone Class

QTimeZone permet de déterminer le rapport entre une représentation temporelle et l'UTC. En savoir plus...

En-tête : #include <QTimeZone>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Remarque : toutes les fonctions de cette classe sont thread-safe.

Comparaisons QTimeZone

CatégorieTypes comparables
égalitéQTimeZone

Types publics

struct OffsetData
(since 6.5) enum Initialization { LocalTime, UTC }
enum NameType { DefaultName, LongName, ShortName, OffsetName }
OffsetDataList
enum TimeType { StandardTime, DaylightTime, GenericTime }

Fonctions publiques

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)

Membres publics statiques

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)
bool operator!=(const QTimeZone &lhs, const QTimeZone &rhs)
bool operator==(const QTimeZone &lhs, const QTimeZone &rhs)

Description détaillée

Lorsque l'on combine des dates et des heures, la signification du résultat dépend de la manière dont l'heure est représentée. Il existe diverses normes internationales pour la représentation de l'heure ; l'une d'entre elles, l'UTC, correspond à la norme traditionnelle du temps moyen solaire de Greenwich (également appelé GMT). Tous les autres systèmes horaires pris en charge par Qt sont en fin de compte spécifiés par rapport à l'UTC. Une instance de cette classe fournit un calculateur sans état permettant d'effectuer des conversions entre l'UTC et d'autres représentations de l'heure.

Certaines représentations temporelles sont simplement définies par un décalage fixe par rapport à l’UTC. D’autres sont définies par les gouvernements pour être utilisées au sein de leur juridiction. Ces dernières sont communément appelées « fuseaux horaires », mais QTimeZone (depuis Qt 6.5) unifie leur représentation avec celle des systèmes horaires généraux. Un fuseau horaire généralement pris en charge par la plupart des systèmes d’exploitation est désigné sous le nom d’« heure locale » ; on suppose qu’il correspond au fuseau horaire dans lequel réside l’utilisateur.

Pour les fuseaux horaires autres que l’heure locale, l’UTC et ceux présentant un décalage fixe par rapport à l’UTC, Qt ne peut assurer la prise en charge que si le système d’exploitation fournit un moyen d’accéder à ces informations. Lors de la compilation de Qt, la fonctionnalité « timezone » détermine si ces informations sont disponibles. Lorsque ce n’est pas le cas, certains constructeurs et méthodes de `QTimeZone` sont exclus de son API ; ceux-ci sont documentés comme dépendant de la fonctionnalité timezone. Notez que, même lorsque Qt est compilé avec cette fonctionnalité activée, elle peut ne pas être disponible pour les utilisateurs dont les systèmes sont mal configurés, ou sur lesquels certains paquets standard (par exemple, le paquet ` tzdata ` sous Linux) ne sont pas installés. Cette fonctionnalité est activée par défaut lorsque des informations sur le fuseau horaire sont disponibles.

Cette classe est principalement conçue pour être utilisée dans QDateTime; la plupart des applications n'auront pas besoin d'accéder directement à cette classe et devraient plutôt utiliser une instance de celle-ci lors de la construction d'un QDateTime.

Remarque : par souci de cohérence avec QDateTime, QTimeZone ne tient pas compte des secondes intercalaires.

Remarques

QTimeZone, tout comme QDateTime, mesure les décalages par rapport à l’UTC en secondes. Cela contraste avec leur mesure habituelle du temps, qui s’effectue en millisecondes. Dans la réalité, les fuseaux horaires présentent généralement des décalages par rapport à l’UTC qui sont des multiples entiers de cinq minutes (300 secondes), et ce depuis bien avant 1970. Un décalage positif par rapport à l’UTC fait que midi, un jour donné, précède midi UTC ce même jour ; un décalage négatif fait que midi, ce même jour, suit midi UTC.

Représentations légères de l’heure

QTimeZone peut représenter l’UTC, l’heure locale et des décalages fixes par rapport à l’UTC même lorsque la fonctionnalité timezone est désactivée. La forme sous laquelle il le fait est également disponible lorsque la fonctionnalité est activée ; il s’agit d’une forme plus légère et son traitement sera généralement plus efficace, sauf si l’on utilise des méthodes qui ne sont disponibles que lorsque la fonctionnalité timezone est activée. Consultez Initialization et QTimeZone::fromSecondsAheadOfUtc(int) pour savoir comment construire ces représentations.

Cette documentation établit une distinction entre le terme « fuseau horaire », utilisé pour décrire une représentation temporelle définie par des informations fournies par le système ou par des normes, et les représentations temporelles de manière plus générale, qui incluent ces formes allégées. Les méthodes disponibles uniquement lorsque la fonctionnalité « timezone » est activée sont généralement moins gourmandes en ressources pour les fuseaux horaires que pour les représentations de temps allégées, pour lesquelles ces méthodes peuvent créer un objet de fuseau horaire temporaire adapté vers lequel rediriger la requête.

Identifiants de fuseau horaire IANA

QTimeZone utilise les identifiants de fuseau horaire de l’IANA tels que définis dans la base de données des fuseaux horaires de l’IANA (http://www.iana.org/time-zones). Cela permet de garantir un identifiant standard sur toutes les plateformes prises en charge. La plupart des plateformes prennent en charge nativement les identifiants IANA et la base de données IANA, mais sous Windows, un mappage vers les identifiants natifs est nécessaire. Voir ci-dessous pour plus de détails.

Les identifiants IANA peuvent changer régulièrement, et varient en fonction de la date de la dernière mise à jour des données du système hôte. Par conséquent, vous ne pouvez pas compter sur l’existence d’un identifiant donné sur un système hôte quelconque. Vous devez utiliser la fonction ` availableTimeZoneIds()` pour déterminer quels identifiants IANA sont disponibles.

Les identifiants IANA et la base de données IANA sont également connus sous le nom d’identifiants Olson et de base de données Olson, du nom du compilateur d’origine de la base de données.

Fuseaux horaires avec décalage par rapport à l’UTC

Un backend de fuseaux horaires UTC par défaut est fourni ; il est toujours disponible lorsque la fonctionnalité timezone est activée. Il fournit un ensemble de fuseaux horaires génériques avec un décalage par rapport à l’UTC compris entre UTC-16:00 et UTC+16:00. Ces fuseaux horaires peuvent être créés soit en utilisant les noms au format ISO standard, tels que « UTC+00:00 », tels que répertoriés sur availableTimeZoneIds(), soit en utilisant un nom de forme similaire associé au nombre de secondes de décalage.

Fusées horaires Windows

La prise en charge native des fuseaux horaires par Windows est très limitée par rapport à la base de données TZ standard de l’IANA. Les fuseaux horaires de Windows couvrent des zones géographiques plus vastes et sont donc moins précis dans leurs conversions. Ils ne prennent pas non plus en charge autant de données historiques et peuvent donc n’être exacts que pour l’année en cours. En particulier, lorsque les données de fuseau horaire de Microsoft indiquent que l'heure d'été était en vigueur avant 1900 (ce qui est historiquement faux), cette affirmation est ignorée et l'heure standard (prétendument) en vigueur en 1900 est considérée comme ayant toujours été en vigueur.

QTimeZone utilise une table de conversion dérivée des données CLDR d’Unicode pour établir une correspondance entre les identifiants IANA et les identifiants Windows. Selon votre version de Windows et de Qt, il se peut que cette table ne puisse pas fournir de conversion valide, auquel cas « UTC » sera renvoyé.

QTimeZone fournit une API publique permettant d’utiliser cette table de conversion. L’identifiant Windows utilisé correspond à la clé de registre Windows du fuseau horaire, qui est également l’identifiant EWS de MS Exchange, mais qui diffère du nom de fuseau horaire (TZID) et du code COD utilisés par MS Exchange dans les versions antérieures à 2007.

Remarque : lorsque Qt est compilé avec la bibliothèque ICU, celle-ci est privilégiée par rapport aux API système de Windows, ce qui permet de contourner tous les problèmes liés à l’utilisation de noms différents par ces API.

WebAssembly

Sur WebAssembly, QTimeZone ne prend en charge que l’UTC et les fuseaux horaires à décalage fixe par rapport à l’UTC lorsqu’ils sont représentés sous forme basée sur le backend. La base de données des fuseaux horaires de l’IANA n’étant pas disponible, les fonctions telles que ` availableTimeZoneIds()` ne renvoient que des fuseaux horaires à décalage par rapport à l’UTC. Le fuseau horaire système est obtenu via la méthode ` Date.getTimezoneOffset() ` de JavaScript et représenté sous la forme d’un décalage fixe (par exemple, « UTC+02:00 ») plutôt que sous la forme d’un identifiant géographique IANA. Cependant, `QTimeZone(QTimeZone::LocalTime)` fournit toujours une représentation fidèle de l’heure locale, car elle s’appuie sur les fonctions horaires standard de la plateforme.

Fuseau horaire du système

La méthode systemTimeZoneId() renvoie l’identifiant IANA actuel du fuseau horaire du système, qui sera toujours correct sur les systèmes de type Unix. Sous Windows, cet identifiant est converti à partir de l’identifiant système Windows à l’aide d’une table de conversion interne et du pays sélectionné par l’utilisateur. Par conséquent, il existe un faible risque que certaines installations Windows possèdent des identifiants inconnus de Qt, auquel cas « UTC » sera renvoyé.

La création d’une nouvelle instance QTimeZone à l’aide de l’identifiant de fuseau horaire du système ne produira qu’une copie nommée fixe du fuseau horaire ; celle-ci ne changera pas si le fuseau horaire du système change. La fonction QTimeZone::systemTimeZone() renverra une instance représentant le fuseau horaire désigné par cet identifiant système. Notez que la création d’une instance ` QDateTime ` à partir de ce fuseau horaire système peut se comporter différemment de la création d’une instance ` QDateTime ` utilisant ` Qt::LocalTime ` comme ` Qt::TimeSpec`, car cette dernière utilise directement les API système pour accéder aux informations d’heure locale, ce qui peut entraîner un comportement différent (et, en particulier, s’adapter si l’utilisateur modifie le paramètre de fuseau horaire du système).

Décalages horaires

La différence entre l’UTC et l’heure locale dans un fuseau horaire est exprimée sous forme de décalage en secondes par rapport à l’UTC, c’est-à-dire le nombre de secondes à ajouter à l’UTC pour obtenir l’heure locale. Le décalage total se compose de deux éléments : le décalage horaire standard et le décalage horaire d’été. Le décalage horaire standard correspond au nombre de secondes à ajouter à l’UTC pour obtenir l’heure standard dans le fuseau horaire. Le décalage horaire d’été correspond au nombre de secondes à ajouter au décalage horaire standard pour obtenir l’heure d’été (abrégée DST et parfois appelée « heure d’été » ou « heure d’été ») dans le fuseau horaire. Dans le cas habituel de l’heure d’été (heure standard en hiver, heure d’été en été), le décalage horaire d’été est positif. Cependant, certains fuseaux horaires présentent des décalages horaires d’été négatifs, utilisés en hiver, tandis que l’heure standard est appliquée en été.

Notez que les décalages de l’heure standard et de l’heure d’été d’un fuseau horaire peuvent évoluer au fil du temps, à mesure que les pays modifient leur législation relative à l’heure d’été, voire leur décalage de l’heure standard.

Licence

Cette classe inclut des données issues des fichiers de données CLDR selon les termes de la licence « Unicode Data Files and Software License ». Voir Unicode Common Locale Data Repository (CLDR) pour plus de détails.

Voir également QDateTime et QCalendar.

Documentation sur les types de membres

[since 6.5] enum QTimeZone::Initialization

Le type correspondant aux représentations de temps allégées les plus simples.

Cette énumération identifie un type de représentation de temps allégée à transmettre à un constructeur de type ` QTimeZone `, pour lequel aucune autre donnée n’est requise. Elle correspond aux membres du même nom de la structure ` Qt::TimeSpec`.

ConstanteValeurDescription
QTimeZone::LocalTime0Cette représentation temporelle correspond à celle implicitement utilisée par les fonctions système qui utilisent les valeurs ` time_t ` et ` struct tm ` pour établir une correspondance entre l’heure locale et l’heure UTC.
QTimeZone::UTC1Cette représentation temporelle, le temps universel coordonné (UTC), est la représentation de base à laquelle se réfère l'heure civile dans toutes les représentations temporelles prises en charge. Elle est définie par l'Union internationale des télécommunications.

Cette énumération a été introduite dans Qt 6.5.

enum QTimeZone::NameType

Le type de nom de fuseau horaire.

ConstanteValeurDescription
QTimeZone::DefaultName0La forme par défaut du nom du fuseau horaire, à savoir LongName, ShortName ou OffsetName
QTimeZone::LongName1La forme longue du nom du fuseau horaire, par exemple « Heure d'Europe centrale »
QTimeZone::ShortName2La forme abrégée du nom du fuseau horaire, généralement une abréviation, par exemple « CET », dans les paramètres régionaux qui en possèdent une pour ce fuseau ; sinon, une forme compacte indiquant le décalage par rapport au GMT, par exemple « GMT+1 »
QTimeZone::OffsetName3La forme standard ISO du décalage horaire, par exemple « UTC+01:00 »

Ce type n’est disponible que lorsque la fonctionnalité « timezone » est activée.

QTimeZone::OffsetDataList

Synonyme de « QList » <OffsetData>.

Ce type n'est disponible que lorsque la fonctionnalité « timezone » est activée.

enum QTimeZone::TimeType

Le nom d'un fuseau horaire peut varier selon les saisons afin d'indiquer s'il utilise son décalage standard par rapport à l'UTC ou s'il applique un ajustement lié à l'heure d'été à ce décalage. Dans ce cas, il dispose généralement d'un nom général qui lui est attribué quelle que soit la saison. Lorsqu'on demande le nom d'affichage d'un fuseau horaire, ce type permet de déterminer lequel de ces noms utiliser. Dans les fuseaux horaires qui n’appliquent pas l’heure d’été, ces trois valeurs peuvent renvoyer le même résultat.

ConstanteValeurDescription
QTimeZone::StandardTime0Le nom de l’heure standard du fuseau. Par exemple, « Pacific Standard Time ».
QTimeZone::DaylightTime1Le nom de la zone lorsque l'heure d'été est en vigueur. Par exemple, « Pacific Daylight Time ».
QTimeZone::GenericTime2Nom sous lequel le fuseau horaire est désigné, indépendamment de l’application ou non de l’heure d’été. Par exemple, « Heure du Pacifique ».

Ce type n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Documentation des fonctions membres

[noexcept] QTimeZone::QTimeZone()

Créer une instance de fuseau horaire nulle ou non valide.

[noexcept, since 6.5] QTimeZone::QTimeZone(QTimeZone::Initialization spec)

Crée une instance légère décrivant l'heure UTC ou l'heure locale.

Cette fonction a été introduite dans Qt 6.5.

Voir également fromSecondsAheadOfUtc(), asBackendZone(), utc() et systemTimeZone().

[explicit] QTimeZone::QTimeZone(const QByteArray &ianaId)

Crée une instance de fuseau horaire avec l'ID IANA demandé ianaId.

L'ID doit être l'un des ID système disponibles ou un ID UTC avec décalage valide ; dans le cas contraire, un fuseau horaire non valide sera renvoyé. Pour les ID UTC avec décalage, lorsqu'il ne s'agit pas en réalité d'ID IANA, l'id() de l'instance résultante peut différer de l'ID transmis au constructeur.

Ce constructeur n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également ` availableTimeZoneIds()` et ` id()`.

[explicit] QTimeZone::QTimeZone(int offsetSeconds)

Crée une instance de fuseau horaire avec le décalage spécifié, offsetSeconds, par rapport à l'UTC.

L'offsetSeconds par rapport à l'UTC doit être comprise entre -16 heures et +16 heures, sinon un fuseau horaire non valide sera renvoyé.

Ce constructeur n’est disponible que lorsque la fonctionnalité « timezone » est activée. L’instance renvoyée est équivalente à la représentation allégée de l’heure QTimeZone::fromSecondsAheadOfUtc(offsetSeconds), bien qu’elle soit implémentée sous la forme d’un fuseau horaire.

Voir également MinUtcOffsetSecs, MaxUtcOffsetSecs et id().

QTimeZone::QTimeZone(const QByteArray &zoneId, int offsetSeconds, const QString &name, const QString &abbreviation, QLocale::Territory territory = QLocale::AnyTerritory, const QString &comment = QString())

Crée une instance de fuseau horaire personnalisée avec un décalage fixe par rapport à l'UTC.

Le fuseau horaire renvoyé possède un ID « zoneId » et un décalage par rapport à l’UTC de « offsetSeconds ». Le paramètre « name » correspondra au nom utilisé par la fonction « displayName() » pour la méthode « LongName », le paramètre « abbreviation » sera utilisé par la fonction « displayName() » pour la méthode « ShortName » et par la fonction « abbreviation() », et le paramètre facultatif « territory » sera utilisé par la fonction « territory() ». Le paramètre « comment » est une note facultative pouvant s’afficher dans une interface graphique afin d’aider les utilisateurs à sélectionner un fuseau horaire.

L'offsetSeconds e par rapport à l'UTC doit être compris entre -16 heures et +16 heures. L'zoneId ne doit pas être un identifiant pour lequel isTimeZoneIdAvailable() est vrai, sauf s'il s'agit d'un nom de décalage par rapport à l'UTC qui n'apparaît pas dans availableTimeZoneIds().

Si le fuseau horaire personnalisé n'est associé à aucun territoire spécifique, définissez-le sur la valeur par défaut QLocale::AnyTerritory.

Ce constructeur n'est disponible que lorsque la fonctionnalité timezone est activée.

Voir également id(), offsetFromUtc(), displayName(), abbreviation(), territory(), comment(), MinUtcOffsetSecs et MaxUtcOffsetSecs.

[noexcept] QTimeZone::QTimeZone(const QTimeZone &other)

Constructeur de copie : copie other dans this.

[noexcept] QTimeZone::QTimeZone(QTimeZone &&other)

Le constructeur de déplacement de cette classe provient de other.

[noexcept] QTimeZone::~QTimeZone()

Supprime le fuseau horaire.

QString QTimeZone::abbreviation(const QDateTime &atDateTime) const

Renvoie l'abréviation du fuseau horaire correspondant à l'atDateTime on fournie.

L'abréviation peut varier en fonction de l'heure d'été ou même d'événements historiques.

Remarque : l'abréviation n'est pas garantie d'être unique à ce fuseau horaire et ne doit pas être utilisée à la place de l'ID ou du nom d'affichage. L'abréviation peut être localisée, en fonction du système d'exploitation sous-jacent. Pour obtenir une localisation cohérente, utilisez displayName(atDateTime, QTimeZone::ShortName, locale).

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également displayName().

[since 6.5] QTimeZone QTimeZone::asBackendZone() const

Convertit cet objet ` QTimeZone ` en un objet dont la méthode ` timeSpec()` renvoie ` Qt::TimeZone`.

Dans tous les cas, la méthode timeSpec() du résultat renvoie Qt::TimeZone. Lorsque la méthode timeSpec() de ce QTimeZone renvoie Qt::TimeZone, c'est ce QTimeZone lui-même qui est renvoyé. Si timeSpec() renvoie Qt::LocalTime, alors systemTimeZone() est renvoyé.

Si timeSpec() est Qt::UTC, QTimeZone::utc() est renvoyée. Si elle est Qt::OffsetFromUTC, alors QTimeZone(int) reçoit son décalage et le résultat est renvoyé.

Lors de l’utilisation d’une représentation légère de l’heure (heure locale, heure UTC ou heure avec un décalage fixe par rapport à l’UTC), l’utilisation de méthodes prises en charge uniquement lorsque la fonctionnalité timezone est activée peut s’avérer plus coûteuse que l’utilisation d’un fuseau horaire correspondant. Cette méthode associe une représentation légère de l’heure à un fuseau horaire correspondant, c’est-à-dire une instance basée sur des données fournies par le système ou sur des données standard.

Cette méthode n’est disponible que lorsque l’ timezone des fonctionnalités est activée.

Cette fonction a été introduite dans Qt 6.5.

Voir également ` QTimeZone` (QTimeZone::Initialization) et ` fromSecondsAheadOfUtc()`.

[static] QList<QByteArray> QTimeZone::availableTimeZoneIds()

Renvoie une liste des identifiants de fuseaux horaires disponibles sur ce système.

Cette liste comprend un identifiant IANA pour chaque fuseau horaire pris en charge par la source d’informations sur les fuseaux horaires du système, ainsi que certains alias de ces identifiants et un ensemble limité d’identifiants de décalage UTC couramment utilisés.

Le constructeur ` QTimeZone ` accepte également certains identifiants de décalage UTC qui ne figurent pas dans la liste renvoyée ; il serait en effet impossible de répertorier tous les identifiants de décalage UTC possibles. Il accepte également les alias connus des identifiants IANA pris en charge, dont certains peuvent ne pas apparaître dans cette liste. Ces identifiants sont également acceptés par la fonction ` isTimeZoneIdAvailable()`.

Lorsque le Common Locale Data Repository (CLDR) du Consortium Unicode considère un identifiant IANA pris en charge comme un alias de son nom stable pour la zone, ce nom stable de la zone est également inclus dans la liste (même s’il peut être obsolète), à la fois pour des raisons de stabilité et afin de servir de base commune multiplateforme lorsque différentes sources d’informations sur les fuseaux horaires utilisent des alias différents pour une même zone.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également isTimeZoneIdAvailable() et hasAlternativeName().

[static] QList<QByteArray> QTimeZone::availableTimeZoneIds(QLocale::Territory territory)

Renvoie une liste de tous les identifiants de fuseaux horaires IANA disponibles pour une adresse territory donnée.

Dans un cas particulier, une territory de type AnyTerritory sélectionne les fuseaux horaires qui ne sont pas associés à un territoire, tels que l'UTC, tandis que World sélectionne les fuseaux horaires pour lesquels il existe un identifiant IANA par défaut global. Si vous avez besoin d'une liste de tous les identifiants de fuseaux horaires pour tous les territoires, utilisez la méthode standard availableTimeZoneIds().

Cette méthode n'est disponible que lorsque la fonctionnalité timezone est activée.

Voir également isTimeZoneIdAvailable() et territory().

[static] QList<QByteArray> QTimeZone::availableTimeZoneIds(int offsetSeconds)

Renvoie une liste de tous les identifiants de fuseau horaire IANA disponibles présentant un décalage horaire standard donné de offsetSeconds.

Lorsque le décalage donné est pris en charge, QTimeZone(offsetSeconds).id() est inclus dans la liste, même s’il ne s’agit pas d’un identifiant IANA. Cela ne se produit que lorsqu’il n’existe aucun identifiant IANA de décalage UTC correspondant au décalage donné.

Cette méthode n'est disponible que lorsque la fonctionnalité timezone est activée.

Voir également ` isTimeZoneIdAvailable()` et ` QTimeZone(int)`.

QString QTimeZone::comment() const

Renvoie tout commentaire associé au fuseau horaire.

Un commentaire peut être fourni par la plateforme hôte afin d'aider les utilisateurs à choisir le fuseau horaire approprié. Selon la plateforme, ce commentaire peut ne pas être localisé.

Cette méthode n'est disponible que lorsque la fonctionnalité « timezone » est activée.

int QTimeZone::daylightTimeOffset(const QDateTime &atDateTime) const

Renvoie le décalage horaire lié à l'heure d'été pour l'atDateTime e indiquée, c'est-à-dire le nombre de secondes à ajouter au décalage horaire standard pour obtenir l'heure d'été locale.

Par exemple, pour le fuseau horaire « Europe/Berlin », le décalage horaire d'été est de +3 600 secondes. Pendant l'heure d'hiver, la méthode daylightTimeOffset() renvoie 0, et lorsque l'heure d'été est en vigueur, elle renvoie +3 600.

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également ` offsetFromUtc()` et ` standardTimeOffset()`.

QString QTimeZone::displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const

Renvoie le nom localisé du fuseau horaire.

Le nom renvoyé est celui correspondant à l’ locale donnée, applicable lorsque l’ timeType est en vigueur et de la forme indiquée par nameType. Lorsque les noms d’affichage des fuseaux horaires ont changé au fil du temps, ce sont les noms actuels qui sont utilisés. Si aucun nom localisé approprié du type donné n’est disponible, un autre type de nom peut être utilisé, ou une chaîne vide peut être renvoyée.

Si l’ locale n’est pas fournie, la locale par défaut de l’application sera utilisée. Pour les fuseaux horaires personnalisés créés par le code client, les données fournies au constructeur sont utilisées, car aucune donnée de localisation n’est disponible pour ceux-ci. Si ce fuseau horaire n’est pas valide, une chaîne vide est renvoyée. Cela peut également se produire pour la représentation de l’heure locale si la détermination du fuseau horaire du système échoue.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également abbreviation().

QString QTimeZone::displayName(const QDateTime &atDateTime, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const

Renvoie le nom localisé du fuseau horaire.

Le nom renvoyé est celui correspondant à l’ locale donnée, applicable à l’ atDateTime indiquée, et sous la forme spécifiée par nameType. Le nom d’affichage peut varier en fonction de l’heure d’été ou d’événements historiques. Si aucun nom localisé de type approprié n’est disponible, un autre type de nom peut être utilisé, ou une chaîne vide peut être renvoyée.

Si l’ locale n’est pas fournie, la locale par défaut de l’application sera utilisée. Pour les fuseaux horaires personnalisés créés par le code client, les données fournies au constructeur sont utilisées, car aucune donnée de localisation n'est disponible pour ceux-ci. Si ce fuseau horaire n'est pas valide, une chaîne vide est renvoyée. Cela peut également se produire pour la représentation de l'heure locale si la détermination du fuseau horaire du système échoue.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également abbreviation().

[constexpr noexcept, since 6.5] int QTimeZone::fixedSecondsAheadOfUtc() const

Pour une représentation de l'heure allégée dont la fonction ` timeSpec()` renvoie ` Qt::OffsetFromUTC`, cette fonction renvoie le décalage fixe par rapport à l'UTC qu'elle décrit. Pour toute autre représentation de l'heure, elle renvoie 0, même si cette représentation présente un décalage constant par rapport à l'UTC.

Cette fonction a été introduite dans Qt 6.5.

[static] QTimeZone QTimeZone::fromCFTimeZone(CFTimeZoneRef timeZone)

Crée un nouvel objet ` QTimeZone ` contenant une copie de l'timeZone` CFTimeZone`.

Voir également toCFTimeZone().

[static, since 6.5] QTimeZone QTimeZone::fromDurationAheadOfUtc(std::chrono::seconds offset)

[static, since 6.5] QTimeZone QTimeZone::fromSecondsAheadOfUtc(int offset)

Renvoie une représentation temporelle à une offset fixe, en secondes, par rapport à l'UTC.

L'offset par rapport à l'UTC doit être comprise entre -16 heures et +16 heures, sinon un fuseau horaire non valide sera renvoyé. L'QTimeZone renvoyée est une représentation légère de l'heure, et non un fuseau horaire (s'appuyant sur des données fournies par le système ou standard).

Si le décalage est égal à 0, la méthode ` timeSpec()` de l’instance renvoyée retournera ` Qt::UTC`. Sinon, si ` offset ` est valide, la méthode ` timeSpec()` renverra ` Qt::OffsetFromUTC`. Un fuseau horaire invalide, lorsqu’il est renvoyé, a pour valeur ` Qt::TimeZone ` comme résultat de la méthode ` timeSpec()`.

Ces fonctions ont été introduites dans Qt 6.5.

Voir également QTimeZone(int), asBackendZone(), fixedSecondsAheadOfUtc(), MinUtcOffsetSecs et MaxUtcOffsetSecs.

[static] QTimeZone QTimeZone::fromNSTimeZone(const NSTimeZone *timeZone)

Crée un nouvel objet ` QTimeZone ` contenant une copie de l'objet `NSTimeZone` ` timeZone`.

Voir également toNSTimeZone().

[static, since 6.4] QTimeZone QTimeZone::fromStdTimeZonePtr(const std::chrono::time_zone *timeZone)

Renvoie un objet ` QTimeZone ` représentant le même fuseau horaire que timeZone. L'identifiant IANA de timeZone doit figurer parmi les identifiants système disponibles, faute de quoi un fuseau horaire non valide sera renvoyé.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Cette fonction a été introduite dans Qt 6.4.

[since 6.8] bool QTimeZone::hasAlternativeName(QByteArrayView alias) const

Renvoie « true » si « alias » est un nom alternatif pour ce fuseau horaire.

La base de données de l’IANA (anciennement Olson) a renommé certains fuseaux horaires au cours de son histoire. Il existe également des fuseaux horaires qui ne différaient qu’avant 1970, mais qui sont désormais considérés comme synonymes. Certains backends peuvent disposer de données remontant à avant 1970 et générer des fuseaux distincts dans ce dernier cas. D’autres peuvent générer des fuseaux impossibles à distinguer, sauf à l’aide de la fonction id(). Cette méthode détermine si un identifiant fait référence (au moins depuis 1970) au même fuseau que celui décrit par cet objet de fuseau horaire.

Cette méthode n’est disponible que lorsque la fonctionnalité ` timezone ` est activée.

Cette fonction a été introduite dans Qt 6.8.

Voir également ` isTimeZoneIdAvailable()`

bool QTimeZone::hasDaylightTime() const

Renvoie « true » si le fuseau horaire a déjà appliqué l'heure d'été à un moment donné.

Cette méthode n'est disponible que lorsque la fonctionnalité timezone est activée.

Voir également isDaylightTime() et daylightTimeOffset().

bool QTimeZone::hasTransitions() const

Renvoie « true » si le backend du système prend en charge l'obtention des transitions.

Les transitions correspondent à des changements de fuseau horaire : elles se produisent lors du passage à l'heure d'été ou au retour à l'heure d'hiver, ainsi que lorsque les autorités modifient les décalages horaires du fuseau horaire.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Remarque : il ne s'agit pas d'une propriété du fuseau horaire décrit par cet objet, mais du backend qui fournit les données relatives à ce fuseau, généralement issues des bibliothèques système. Elle indique si les autres fonctions liées aux transitions sont disponibles.

Voir également nextTransition(), previousTransition() et transitions().

[static] QByteArray QTimeZone::ianaIdToWindowsId(const QByteArray &ianaId)

Renvoie l'identifiant Windows correspondant à l'ianaId fournie.

Cette méthode n'est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également windowsIdToDefaultIanaId() et windowsIdToIanaIds().

QByteArray QTimeZone::id() const

Renvoie l'identifiant IANA correspondant au fuseau horaire.

Les identifiants IANA sont utilisés sur toutes les plateformes. Sous Windows, ceux-ci sont convertis à partir de l’identifiant Windows en l’identifiant IANA le plus proche correspondant au fuseau horaire et au territoire.

Si cette instance de fuseau horaire n’a pas été créée à partir d’un identifiant IANA, son identifiant est déterminé en fonction de la manière dont elle a été créée. Dans la plupart des cas, c’est l’identifiant transmis lors de la création de l’instance qui est utilisé. (Le constructeur d’un fuseau horaire personnalisé utilise l’identifiant qui lui est transmis, lequel ne doit pas être un identifiant IANA.) Il existe deux exceptions.

  • Les instances créées en ne transmettant qu’un décalage UTC en secondes ne reçoivent pas d’identifiant lors de leur création.
  • Le constructeur ne prenant qu’un identifiant IANA acceptera également certains identifiants de décalage UTC qui ne sont en réalité pas des identifiants IANA : son traitement de ceux-ci équivaut à passer le décalage correspondant en secondes, comme pour la première exception.

Dans ces deux cas exceptionnels, s’il existe une zone IANA de décalage UTC présentant le décalage spécifié, l’instance créée utilise l’identifiant de cette zone IANA, même si celui-ci peut différer de l’identifiant de décalage UTC (non IANA) transmis au constructeur. Sinon, l’instance utilise un identifiant synthétisé à partir de son décalage, sous la forme UTC±hh:mm:ss, en omettant tout « :00 » final pour les secondes ou minutes égales à zéro. Là encore, cela peut différer de l’identifiant de décalage UTC transmis au constructeur.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

bool QTimeZone::isDaylightTime(const QDateTime &atDateTime) const

Renvoie « true » si l'heure d'été était en vigueur à l'atDateTime indiquée.

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également hasDaylightTime() et daylightTimeOffset().

[static] bool QTimeZone::isTimeZoneIdAvailable(QByteArrayView ianaId)

Renvoie « true » si un fuseau horaire donné ianaId est disponible sur ce système.

Cela peut être le cas pour certains textes qui ne sont en réalité pas des identifiants IANA, notamment les identifiants de décalage par rapport à l'UTC et les alias connus d'identifiants IANA pris en charge qui ne figurent pas dans availableTimeZoneIds().

Cette méthode n'est disponible que lorsque la fonctionnalité timezone est activée.

Voir également availableTimeZoneIds() et hasAlternativeName().

[constexpr noexcept, since 6.5] bool QTimeZone::isUtcOrFixedOffset() const

Renvoie « true » si « timeSpec() » vaut « Qt::UTC » ou « Qt::OffsetFromUTC ».

Lorsque cette valeur est vraie, la description de l’heure ne change pas au fil du temps, par exemple en raison des changements saisonniers liés à l’heure d’été, comme cela peut être le cas pour l’heure locale ou un fuseau horaire. Le fait de le savoir peut éviter au code appelant d’avoir à effectuer diverses autres vérifications.

Cette fonction a été introduite dans Qt 6.5.

[static constexpr noexcept, since 6.5] bool QTimeZone::isUtcOrFixedOffset(Qt::TimeSpec spec)

Renvoie « true » si « spec » est « Qt::UTC » ou « Qt::OffsetFromUTC ».

Cette fonction a été introduite dans Qt 6.5.

bool QTimeZone::isValid() const

Renvoie « true » si ce fuseau horaire est valide.

QTimeZone::OffsetData QTimeZone::nextTransition(const QDateTime &afterDateTime) const

Renvoie la première transition de fuseau horaire suivant l'afterDateTime on indiquée. Cette fonction est particulièrement utile lorsque vous disposez d'une heure de transition et que vous souhaitez trouver la transition qui la suit.

S'il n'y a pas de transition après l'afterDateTime donnée, une OffsetData invalide sera renvoyée avec une QDateTime invalide comme atUtc.

L’ afterDateTime fournie est exclusive.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également hasTransitions(), previousTransition() et transitions().

QTimeZone::OffsetData QTimeZone::offsetData(const QDateTime &forDateTime) const

Renvoie les détails du décalage effectif à l'adresse forDateTime indiquée.

Cela équivaut à appeler abbreviation() et les trois fonctions de décalage individuellement, mais peut s’avérer plus efficace et fournir une localisation différente pour l’abréviation. Si ces données ne sont pas disponibles pour l’heure et la date indiquées, une valeur OffsetData invalide sera renvoyée, avec une valeur QDateTime invalide comme atUtc.

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également offsetFromUtc(), standardTimeOffset(), daylightTimeOffset() et abbreviation().

int QTimeZone::offsetFromUtc(const QDateTime &atDateTime) const

Renvoie le décalage effectif total pour l'atDateTime donné, c'est-à-dire le nombre de secondes à ajouter à l'UTC pour obtenir l'heure locale. Cela inclut tout décalage lié à l'heure d'été (DST) éventuellement en vigueur ; il s'agit donc de la somme de standardTimeOffset() et daylightTimeOffset() pour l' donné.

Par exemple, pour le fuseau horaire « Europe/Berlin », le décalage horaire standard est de +3 600 secondes et le décalage d’heure d’été est de +3 600 secondes. Pendant l'heure standard, offsetFromUtc() renvoie +3 600 (UTC+01:00), et pendant l'heure d'été, elle renvoie +7 200 (UTC+02:00).

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également ` standardTimeOffset()` et ` daylightTimeOffset()`.

QTimeZone::OffsetData QTimeZone::previousTransition(const QDateTime &beforeDateTime) const

Renvoie la première transition de fuseau horaire précédant l'beforeDateTime donnée. Cette fonction est particulièrement utile lorsque vous disposez d'une heure de transition et que vous souhaitez trouver la transition qui la précède.

S'il n'existe aucune transition avant l'beforeDateTime spécifiée, une OffsetData invalide sera renvoyée avec une QDateTime invalide comme atUtc.

L’ beforeDateTime fournie est exclusive.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également hasTransitions(), nextTransition() et transitions().

int QTimeZone::standardTimeOffset(const QDateTime &atDateTime) const

Renvoie le décalage horaire standard pour l'atDateTime donnée, c'est-à-dire le nombre de secondes à ajouter à l'heure UTC pour obtenir l'heure locale standard. Cela exclut tout décalage lié à l'heure d'été qui pourrait être en vigueur.

Par exemple, pour le fuseau horaire « Europe/Berlin », le décalage horaire standard est de +3 600 secondes. Que ce soit en heure standard ou en heure d'été, la fonction offsetFromUtc() renverra +3 600 (UTC+01:00).

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également offsetFromUtc() et daylightTimeOffset().

[noexcept] void QTimeZone::swap(QTimeZone &other)

Permute cette instance de fuseau horaire avec celle de other. Cette opération est très rapide et ne rencontre jamais d'échec.

[static] QTimeZone QTimeZone::systemTimeZone()

Renvoie un objet « QTimeZone » décrivant l'heure système locale.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée. L’instance renvoyée est généralement équivalente à la représentation allégée de l’heure QTimeZone(QTimeZone::LocalTime), bien qu’elle soit implémentée sous la forme d’un fuseau horaire.

L’objet renvoyé ne sera pas mis à jour pour refléter les modifications ultérieures du fuseau horaire du système. Il représente l’heure locale en vigueur au moment de l’appel de la fonction ` asBackendZone()`. Sur des systèmes mal configurés, tels que ceux ne disposant pas des données de fuseau horaire utilisées par le backend pour lequel Qt a été compilé, cet objet peut s’avérer invalide. Dans ce cas, un avertissement est généré.

Voir également utc(), Initialization, asBackendZone() et systemTimeZoneId().

[static] QByteArray QTimeZone::systemTimeZoneId()

Renvoie l'identifiant IANA du fuseau horaire actuel du système.

Équivalent à l'appel de ` systemTimeZone()`. `id()`, mais peut contourner certains calculs pour l'obtenir. La construction d'un objet ` QTimeZone ` à partir du tableau d'octets renvoyé produira le même résultat que ` systemTimeZone()`.

Si le backend n’est pas en mesure de déterminer la zone système correcte, le résultat est vide. Dans ce cas, systemTimeZone().isValid() renvoie faux et un avertissement est émis si cette méthode ou systemTimeZone() est appelée.

Si le backend est capable de déterminer la zone système correcte mais pas son nom, un tableau d’octets vide est renvoyé. Par exemple, sous Windows, l’identifiant natif du système est converti en un identifiant IANA ; si l’identifiant du système n’est pas connu du code de conversion interne, le résultat doit être vide. Dans ce cas, systemTimeZone().isValid() renvoient la valeur « true ».

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Remarque : avant Qt 6.7, lorsque le résultat ne pouvait pas être déterminé, la valeur trompeuse « UTC » était renvoyée.

Voir également systemTimeZone().

[since 6.2] QLocale::Territory QTimeZone::territory() const

Renvoie le territoire correspondant au fuseau horaire.

Si la valeur renvoyée est « AnyTerritory », cela signifie que le fuseau horaire n'est associé à aucun territoire connu. Dans certains cas, cela peut s’expliquer par le fait que le fuseau n’est associé à aucun territoire (par exemple, l’UTC) ou qu’il est utilisé dans plusieurs territoires (par exemple, l’heure d’Europe centrale, CET). Dans d’autres cas, le backend d’ QTimeZone peut ne pas savoir à quel territoire le fuseau est associé, par exemple parce qu’il ne s’agit pas du fuseau principal du territoire dans lequel il est utilisé.

Cette méthode n’est disponible que lorsque la fonctionnalité « timezone » est activée.

Cette fonction a été introduite dans Qt 6.2.

[constexpr noexcept, since 6.5] Qt::TimeSpec QTimeZone::timeSpec() const

Renvoie une valeur de type « Qt::TimeSpec » identifiant le type de représentation temporelle.

Si le résultat est « Qt::TimeZone », cette description temporelle correspond à un fuseau horaire (basé sur des données fournies par le système ou des données standard) ; dans le cas contraire, il s'agit d'une représentation temporelle allégée. Si le résultat est « Qt::LocalTime », il s'agit de l'heure locale : voir Qt::TimeSpec pour plus de détails.

Cette fonction a été introduite dans Qt 6.5.

Voir également fixedSecondsAheadOfUtc() et asBackendZone().

CFTimeZoneRef QTimeZone::toCFTimeZone() const

Crée un objet CFTimeZone à partir d'un objet ` QTimeZone`.

L'appelant est propriétaire de l'objet CFTimeZone et est chargé de le libérer.

Voir également fromCFTimeZone().

NSTimeZone *QTimeZone::toNSTimeZone() const

Crée un objet NSTimeZone à partir d'un objet ` QTimeZone`.

L'objet NSTimeZone est libéré automatiquement.

Voir aussi fromNSTimeZone().

QTimeZone::OffsetDataList QTimeZone::transitions(const QDateTime &fromDateTime, const QDateTime &toDateTime) const

Renvoie une liste de toutes les transitions de fuseau horaire entre les dates et heures indiquées.

Les valeurs « fromDateTime » et « toDateTime » sont incluses. Le membre « atUtc » de chaque entrée décrit le moment de la transition, auquel les décalages et l'abréviation indiqués par les autres membres prennent effet.

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également hasTransitions(), nextTransition() et previousTransition().

[static] QTimeZone QTimeZone::utc()

Renvoie un objet ` QTimeZone ` qui décrit l'UTC en tant que fuseau horaire.

Cette méthode n'est disponible que lorsque la fonctionnalité « timezone » est activée. Elle équivaut à passer la valeur 0 à la méthode ` QTimeZone(int offsetSeconds)` et à la représentation allégée de l'heure ` QTimeZone(QTimeZone::UTC)`, bien qu'elle soit implémentée en tant que fuseau horaire, contrairement à cette dernière.

Voir également systemTimeZone(), Initialization et asBackendZone().

[static] QByteArray QTimeZone::windowsIdToDefaultIanaId(const QByteArray &windowsId)

Renvoie l'identifiant IANA par défaut pour une adresse windowsId donnée.

Étant donné qu’un identifiant Windows peut correspondre à plusieurs identifiants IANA dans différents territoires, cette fonction renvoie l’identifiant IANA le plus fréquemment utilisé, sans tenir compte du territoire, et doit donc être utilisée avec prudence. Il est généralement préférable de demander l’identifiant par défaut pour un territoire spécifique.

Cette méthode n'est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également ianaIdToWindowsId() et windowsIdToIanaIds().

[static] QByteArray QTimeZone::windowsIdToDefaultIanaId(const QByteArray &windowsId, QLocale::Territory territory)

Renvoie l'identifiant IANA par défaut pour une adresse windowsId et territory données.

Étant donné qu’un identifiant Windows peut couvrir plusieurs identifiants IANA au sein d’un territoire donné, c’est l’identifiant IANA le plus fréquemment utilisé dans ce territoire qui est renvoyé.

Dans un cas particulier, AnyTerritory renvoie la valeur par défaut parmi les identifiants IANA qui ont une association non territoriale, tandis que World renvoie la valeur par défaut pour l’ windowsId donné dans les territoires qui n’ont pas d’association spécifique avec celui-ci.

territory Si le résultat est vide, cela signifie qu’il n’existe aucun identifiant IANA spécifique à l’ windowsIdToDefaultIanaId(windowsId) donnée pour cette windowsId. Dans ce cas, il est raisonnable de se rabattre sur .

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également ianaIdToWindowsId(), windowsIdToIanaIds() et territory().

[static] QList<QByteArray> QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId)

Renvoie tous les identifiants IANA associés à une adresse windowsId donnée.

La liste renvoyée est triée par ordre alphabétique.

Cette méthode n'est disponible que lorsque la fonctionnalité « timezone » est activée.

Voir également ` ianaIdToWindowsId()` et ` windowsIdToDefaultIanaId()`.

[static] QList<QByteArray> QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId, QLocale::Territory territory)

Renvoie tous les identifiants IANA correspondant à une adresse windowsId et territory données.

Dans un cas particulier, AnyTerritory sélectionne les identifiants IANA qui n'ont pas d'association territoriale, tandis que World sélectionne la valeur par défaut pour l'windowsId donné dans les territoires qui n'ont pas d'association spécifique avec celui-ci.

La liste renvoyée est classée par ordre de fréquence d’utilisation, c’est-à-dire que les zones les plus étendues au sein d’un territoire apparaissent en premier.

Cette méthode n’est disponible que lorsque la fonctionnalité timezone est activée.

Voir également ianaIdToWindowsId(), windowsIdToDefaultIanaId() et territory().

[noexcept] QTimeZone &QTimeZone::operator=(QTimeZone &&other)

Cette opération d'affectation attribue « other » à cette instance « QTimeZone », transférant ainsi la propriété de ses données à cette instance.

QTimeZone &QTimeZone::operator=(const QTimeZone &other)

Opérateur d'affectation : attribuer « other » à « this ».

Documentation sur les variables membres

const int QTimeZone::MaxUtcOffsetSecs

Les décalages horaires par rapport à l'UTC ne devraient pas dépasser cette valeur.

Le décalage par rapport à l'UTC le plus important pour un fuseau horaire du début du XXIe siècle est de +14 heures (Île Christmas, Kiribati, Kiritimati), soit 14 heures à l'est de Greenwich.

Historiquement, avant 1867, lorsque la Russie a cédé l'Alaska aux États-Unis, l'Alaska utilisait la même date que la Russie et présentait donc des décalages supérieurs à 15 heures à l'est de Greenwich. Comme l'Alaska utilisait l'heure solaire moyenne locale, ses décalages variaient, mais tous étaient inférieurs à 16 heures à l'est de Greenwich.

Voir également MinUtcOffsetSecs.

const int QTimeZone::MinUtcOffsetSecs

Les décalages horaires par rapport à l'UTC ne devraient pas être inférieurs à cette valeur.

Le décalage par rapport à l'UTC le plus faible parmi tous les fuseaux horaires du début du XXIe siècle est de -12 heures (île Baker, États-Unis), soit 12 heures à l'ouest de Greenwich.

Historiquement, jusqu'en 1844, les Philippines (alors sous domination espagnole) utilisaient la même date que les possessions espagnoles d'Amérique, et présentaient donc des décalages proches de 16 heures à l'ouest de Greenwich. Comme les Philippines utilisaient l'heure solaire moyenne locale, il est possible que certains de leurs territoires périphériques aient fonctionné à plus de 16 heures à l'ouest de Greenwich, mais aucun fuseau horaire du début du XXIe siècle ne remonte à un décalage aussi extrême.

Voir également MaxUtcOffsetSecs.

Sites connexes (non membres)

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

Renvoie « true » si le fuseau horaire de lhs n'est pas identique à celui de rhs.

Deux représentations sont différentes si elles sont décrites différemment en interne, même si elles concordent dans leur représentation de tous les instants. En particulier, une représentation légère du temps peut coïncider avec un fuseau horaire, mais les deux ne seront pas égales.

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

Renvoie « true » si le fuseau horaire de lhs est identique à celui de rhs.

Deux représentations sont différentes si elles sont décrites différemment en interne, même si elles concordent dans leur représentation de tous les instants. En particulier, une représentation légère du temps peut coïncider avec un fuseau horaire, mais les deux ne seront pas égales.

© 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.