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

Bibliothèque standard C Discussion :

Gestion des fuseaux horaires(time.h et timezone)sous Linux


Sujet :

Bibliothèque standard C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 11
    Points
    11
    Par défaut Gestion des fuseaux horaires(time.h et timezone)sous Linux
    Bonjour,

    Je rencontre des difficultés avec la gestion des fuseaux horaires dans mon appli linux en C.

    Pour afficher le temps dans mon appli j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	date = time(NULL);
    	printf("%s",ctime(&date));
    J'ai correctement positionné la variable d'env TZ de mon OS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ~# echo $TZ
    CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00
    Lorsque je lance mon appli manuellement, l'heure affiché correspond bien à mon fuseau horaire. Par contre, je souhaite que cette appli tourne comme un deamon j'ai donc configuré /etc/rc.d/rc.local de mon os comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ~# cat /etc/rc.d/rc.local 
    # !/bin/sh
    # Add you want to run daemon
    /home/localtime.sh
    /home/rs &
    localtime.sh contenant un export de TZ et une redirection de la commande date dans un fichier, afin de vérifier que la date du système est bien la bonne avant que mon appli ne soit lancée. Le problème est que la date et le fuseau horaire de mon OS sont donc bien corrects mais mon appli n'affiche PAS le bon fuseau horaire!

    D'où peut venir le problème ?

    Merci,

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    simplement parce que ton script change le fuseau du processus (environnement) et pas du système (heureusement).

    Il suffit soit de le faire dans le même script, soit de le passer en paramètre....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    OK pour l'explication mais je ne comprends pas comment mettre ça en place.
    En paramètre de quoi ? Comment puis je faire pour changer le fuseau horaire du système avant le démarrage de mon programme ?

    En fait je pense que tu voulais dire mettre le contenu du script localtime.sh dans le script rc.local mais n'y a t il pas un autre moyen ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    si..

    Dans ton programme C :

    getenv
    setenv

    et tu passes la zone que tu veux en paramètre
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

Discussions similaires

  1. [TimeZone] Gestion des fuseaux horaires
    Par verbose dans le forum Général Java
    Réponses: 12
    Dernier message: 21/02/2013, 19h35
  2. [Lazarus] Gestion des exceptions run time
    Par pedestre dans le forum Lazarus
    Réponses: 4
    Dernier message: 07/11/2011, 11h26
  3. [PHP 5.3] Gestion des fuseaux Horaires
    Par Anified dans le forum Langage
    Réponses: 3
    Dernier message: 23/06/2011, 14h57
  4. Gestion des decalages horaires en Java
    Par otam_otam dans le forum Langage
    Réponses: 1
    Dernier message: 09/11/2010, 19h22
  5. Gestion des fuseaux horaires :-/
    Par kalash_jako dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 23/04/2006, 23h02

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