Share via


_tzset

Définit des variables d’environnement de date/heure.

Important

Cette API ne peut pas être utilisée dans les applications qui s’exécutent dans le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.

Syntaxe

void _tzset( void );

Notes

La fonction _tzset utilise le paramètre actuel de la variable d’environnement TZ pour affecter des valeurs à trois variables globales : _daylight, _timezoneet _tzname. Ces variables sont utilisées par les fonctions et localtime les _ftime fonctions pour apporter des corrections de l’heure universelle coordonnée (UTC) à l’heure locale, et par la time fonction pour calculer l’heure UTC à partir de l’heure système. Utilisez la syntaxe suivante pour définir la variable d’environnement TZ :

set TZ=tzn [+|-]hh[:mm[:ss] ][dzn]

tzn
Nom du fuseau horaire en trois lettres, comme PST. Vous devez spécifier le décalage correct de l’heure locale à l’heure UTC.

hh
Différence en heures entre l’heure UTC et l’heure locale. Signe (+) facultatif pour les valeurs positives.

mm
Minutes. Séparé de hh par un signe deux-points (:).

ss
Secondes. Séparé de mm par un signe deux-points (:).

dzn
Fuseau horaire de l’heure d’été en trois lettres, comme PDT. Si l’heure d’été n’est jamais en vigueur dans la localité, définissez TZ sans valeur pour dzn. La bibliothèque runtime C suppose que les règles de calcul de l’heure d’été sont celles des États-Unis.

Remarque

Soyez attentif au calcul du signe de la différence d’heure. Comme la différence d’heure est le décalage de l’heure locale avec l’heure UTC (plutôt que l’inverse), son signe peut être l’opposé de ce que vous attendez de façon intuitive. Pour les fuseaux horaires en avance sur l’heure UTC, la différence de temps est négative ; pour ceux qui sont en retard sur l’heure UTC, la différence est positive.

Par exemple, pour définir la TZ variable d’environnement correspondant au fuseau horaire actuel en Allemagne, entrez cette commande sur la ligne de commande :

set TZ=TPS-1GDT

Cette commande utilise la TPS pour indiquer l’heure standard allemande. Il suppose qu’UTC est une heure derrière l’Allemagne (ou en d’autres termes, que l’Allemagne est d’une heure avant UTC). Et il part du principe que l’Allemagne observe le temps d’été.

Si la TZ valeur n’est pas définie, _tzset tente d’utiliser les informations de fuseau horaire spécifiées par le système d’exploitation. Dans le système d’exploitation Windows, ces informations sont spécifiées dans l’application Date et heure du Panneau de configuration. Si _tzset vous ne pouvez pas obtenir ces informations, elle utilise PST8PDT par défaut, ce qui signifie le fuseau horaire pacifique.

Selon la valeur de la variable d’environnement TZ , les valeurs suivantes sont affectées aux variables globales _daylight, _timezoneet _tzname quand _tzset est appelée :

Variable globale Description Valeur par défaut
_daylight Une valeur différente de zéro si le fuseau horaire de l’heure d’été est spécifié dans le paramètre TZ ; sinon, 0. 1
_timezone Différence en secondes entre l’heure locale et l’heure UTC. 28800 (28 800 secondes est égale à 8 heures)
_tzname[0] Valeur de chaîne du nom de fuseau horaire de la TZ variable environnementale ; vide si TZ elle n’a pas été définie. PST
_tzname[1] Valeur de chaîne du fuseau horaire de l’heure d’été ; vide si le fuseau horaire de l’heure d’été est omis dans la variable d’environnement TZ . PDT

Les valeurs par défaut indiquées dans le tableau précédent et _daylight le _tzname tableau correspondent à « PST8PDT ». Si la zone DST est omise de la TZ variable environnementale, la valeur de _daylight la valeur est 0 et les _ftimegmtimelocaltime fonctions retournent 0 pour leurs indicateurs DST.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
_tzset <time.h>

La _tzset fonction est spécifique à Microsoft. Pour plus d'informations, voir Compatibilité.

Exemple

// crt_tzset.cpp
// This program uses _tzset to set the global variables
// named _daylight, _timezone, and _tzname. Since TZ is
// not being explicitly set, it uses the system time.

#include <time.h>
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    _tzset();
    int daylight;
    _get_daylight( &daylight );
    printf( "_daylight = %d\n", daylight );
    long timezone;
    _get_timezone( &timezone );
    printf( "_timezone = %ld\n", timezone );
    size_t s;
    char tzname[100];
    _get_tzname( &s, tzname, sizeof(tzname), 0 );
    printf( "_tzname[0] = %s\n", tzname );
    exit( 0 );
}
_daylight = 1
_timezone = 28800
_tzname[0] = Pacific Standard Time

Voir aussi

Gestion des horaires
asctime, _wasctime
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64
_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64