p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    janvier 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 26
    Points : 1
    Points
    1

    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 Confirmé Sénior

    Inscrit en
    janvier 2007
    Messages
    10 260
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 260
    Points : 14 510
    Points
    14 510

    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
    Invité de passage
    Inscrit en
    janvier 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 26
    Points : 1
    Points
    1

    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 Confirmé Sénior

    Inscrit en
    janvier 2007
    Messages
    10 260
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 260
    Points : 14 510
    Points
    14 510

    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