IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

tzset()


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut tzset()
    Salut ,

    voici un exmple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    struct timeval t ;
      struct tm *loc ;
     
      int result,i;
     // char * name ;
      i=0;
      while (i != 1000000)
      {
        __tzfile_read();
      // name = getenv("TZ"); 
      // printf("ENV tz:%s \n",name);
         tzset();
         printf("GetTimeOfday--Timezone :%s\n",tzname[0]);
         //printf("Daylight : %s  Active : %d\n",tzname[1],__daylight);
        //t.tv_sec = 0 ;
     
        result = gettimeofday(&t,NULL);
        loc = localtime(&t.tv_sec);
        printf("GetTimeOfday--t.time_t %d : %s\n",i,asctime(loc));
     
       i++;
      }
    Ma question est :
    Si je fais rouler le programme et que pendant son execution , je modifie le timezone , le programme n'en tient pas compte......quelqu'un a une idee

    merci

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Tout d'abord quelques questions :

    En quel langage programmes-tu ?
    Sous quel OS ?

    Es-tu certain que le timezone a bien été modifié (je pense notamment au fait qu'il faille être root pour changer le timezone, alors que programme est probablement lancé sous un auter compte que root) ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut gettimeofday
    1- desole yavait des erreur dans mon code et cest du C;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    struct timeval t ;
      struct tm *loc ;
     
      int result,i;
     // char * name ;
      i=0;
      while (i != 10)
      {
     
      // name = getenv("TZ"); 
      // printf("ENV tz:%s \n",name);
         tzset();
         printf("GetTimeOfday--Timezone :%s\n",tzname[0]);
         //printf("Daylight : %s  Active : %d\n",tzname[1],__daylight);
        //t.tv_sec = 0 ;
     
        result = gettimeofday(&t,NULL);
        loc = localtime(&t.tv_sec);
        printf("GetTimeOfday--t.time_t %d : %s\n",i,asctime(loc));
     
       i++;
      }  
    }
    2 - Os = linux
    3 - mode console, et tous est root .
    4 - situation , le programme roule , et je change le lien symbolique du fichier localtime pour changer le timezone. Le prog en tient pas compte.

    Dans le fond je dois trouver comment faire une mise a jour manuelle de la lecture du Timezone quand je fais exemple : loc =localtime(&var);

    si d'autre precision necessaire , demande..... Merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut tzset()
    Rebonjour ,

    ou la valeur retourner par tzset est-elle garder en memoire???

    Parce que si on le fait 2 fois de suite il n'ouvre et va lire qu'une seule fois le fichier localtime pour avoir le timezone ........


    donc que dois-je faire pour qu'il aille lire a chaque appelle de cette fonction le fichier localtime .... la est la question

    Merci

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo