Share via


_tzset

Définit les variables d'environnement d'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 avec /ZW.

void _tzset( void );

Notes

La fonction _tzset utilise le paramètre actuel de la variable d'environnement TZ pour assigner des valeurs à trois variables globales : _daylight, _timezone, et _tzname. Ces variables sont utilisées par les fonctions _ftime et localtime pour apporter des corrections du temps universel (UTC) en heure locale, et par la fonction time pour calculer le temps 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 de trois lettres, tel que PST. Vous devez spécifier l'offset correct de l'heure locale en 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 deux-points (:).

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

  • dzn
    Zone heure d'été de trois lettres comme PDT. Si l'heure d'été n'est jamais en effet dans la localité, définissez TZ sans valeur pour dzn. La bibliothèque Runtime C suppose l'utilisation des règles des États-Unis pour implémenter le calcul de l'heure d'été (DST).

Notes

Faites attention en calculant le signe de la différence de temps.La différence de temps est le décalage de l'heure locale en heure UTC (plutôt que l'inverse), son signe peut être opposé à ce que vous pourriez intuitivement compter.Pour les fuseaux horaires avant l'heure UTC, la différence de temps est négative ; pour ceux après l'heure UTC, la différence est positive.

Par exemple, pour définir la variable d'environnement TZ correspondante au fuseau actuel en Allemagne, tapez ce qui suit sur la ligne de commande :

set TZ=GST-1GDT

Cette commande utilise GST pour afficher l'heure d'hiver allemande, suppose que l'heure UTC est une heure derrière l'Allemagne (ou en d'autres termes, que l'Allemagne est une heure avant l'heure UTC), et suppose que l'Allemagne observe l'heure d'été.

Si la valeur TZ n'est pas définie, _tzset essaie 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 de date/heure du Panneau de configuration. Si _tzset ne peut pas obtenir ces informations, il utilise PST8PDT par défaut, ce qui représente le fuseau horaire Pacifique.

Selon la valeur de la variable d'environnement TZ, les valeurs suivantes sont assignées aux variables globales, _daylight, _timezoneet _tzname lorsque _tzset est appelé :

Variable globale.

Description

Valeur par défaut

_daylight

Valeur différente de zéro si une zone heure d'été spécifiée dans le paramètre TZ ; sinon, 0.

1

_timezone

Différence en secondes entre l'heure UTC et l'heure locale.

28800 (28800 secondes est égal à 8 heures)

_tzname[0]

Valeur de chaîne du nom du fuseau horaire de la variable d'environnement TZ ; vide si TZ n'a pas été défini.

PST

_tzname[1]

Valeur de chaîne de la zone heure d'été ; vide si la zone heure d'été est omise de la variable d'environnement TZ.

PDT

Les valeurs par défaut indiquées dans le tableau précédent pour _daylight et le tableau _tzname correspondent à « PST8PDT ». Si la zone d'heure d'été est omise de la variable d'environnement TZ, la valeur de _daylight est 0 et _ftime, gmtime, et localtime retournent 0 pour leurs indicateurs d'heure d'été (DST).

Configuration requise

Routine

En-tête requis

_tzset

<time.h>

Pour plus d'informations sur la compatibilité, consultez 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 );
}
  

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Voir aussi

Référence

Gestion du temps

asctime, _wasctime

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

time, _time32, _time64

_utime, _utime32, _utime64, _wutime, _wutime32, _wutime64