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

C++ Discussion :

Comment récupérer le décalage horaire ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Comment récupérer le décalage horaire ?
    Bonjour,

    Je voudrais une fonction qui me retourne le décalage courant par rapport à l'heure GMT (-1; +0; +1; +2 heures ?).

    C'est pour un programme Windows, mais si le code est portable, c'est mieux

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    L'un des résultats fournis par google nous renvoie directement sur le forum...

    C'est une réponse qui a été donnée il y a longtemps, et pour un RAD particulier, mais elle devrait pouvoir t'orienter vers quelque chose de correct
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Salut,

    L'un des résultats fournis par google nous renvoie directement sur le forum...

    C'est une réponse qui a été donnée il y a longtemps, et pour un RAD particulier, mais elle devrait pouvoir t'orienter vers quelque chose de correct
    Effectivement, j'ai trouvé une solution portable dans l'aide de C++ Builder :

    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
    #include <cstdlib>
    #include <iostream>
    #include <time.h>
    int main(int argc, char *argv[]) {
     
       time_t t;
       struct tm * gmt, * area;
     
       t = time( NULL );
       area = localtime( &t );
       int h_loc = area->tm_hour;
     
       gmt = gmtime( &t );
       int h_gmt = gmt->tm_hour;
     
       std::cout << "decalage = " << h_loc - h_gmt << endl;
       return EXIT_SUCCESS;
    }// main
    L'exécution de ce programme m'indique bien que nous sommes à GMT + 1

    Merci.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Attention, cette méthode n'est pas tout à fait correcte.

    D'abord je pense qu'elle donne un résultat incorrect si on est de l'autre côté de la ligne de changement de jour (c'est pas courant, mais il y a des programmes et des applications qui sont concernés)

    D'autres part, il y a des pays dont le décalage horaire n'est pas forcément en nombre entier d'heures.

    Selon Wiki (http://fr.wikipedia.org/wiki/Fuseau_horaire) :
    Mysore, Karnataka, Inde (UTC+5:30)
    Katmandou, Népal (UTC+5:45)

    Donc pour calculer le décalage horaire, il faut aussi prendre en compte les autres membres de la structure tm. Ce qui peut arriver arrivera (c'est Murphy qui le dit )
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    <snip> Ce qui peut arriver arrivera (c'est Murphy qui le dit )
    Non... En l'occurence, c'est fingale qui le dit...

    Murphy, lui, il dit que s'il y deux façons de faire les choses dont une, selon fingale qui provoquera un désastre, tu trouvera toujours quelqu'un qui utilisera cette façon

    Ici, le pauvre Murphy n'a rien à voir dans l'histoire
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Mince, une erreur judiciaire. J'accuse Murphy alors que c'est Fingale. Mea culpa.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/05/2016, 12h26
  2. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  3. Comment récupérer le raccourci Ctrl F4
    Par stef02032000 dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/05/2003, 15h53
  4. Comment récupérer le VK_TAB ?
    Par henderson dans le forum C++Builder
    Réponses: 5
    Dernier message: 11/12/2002, 11h32
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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