_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
, _timezone
et _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
, _timezone
et _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 _ftime
gmtime
localtime
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
, _wutime
_utime64
, , _wutime32
_wutime64