Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Heure d'été [ Windows / System ] (BastienL21)

mercredi 7 mai 2008 à 22:18:28 | Heure d'été

BastienL21

Bonjour tout le monde,
Etant en train de programmer un mini-OS (tournant sous Windows XP), je suis confronté à un problème qui ne doit pas être très difficile à contourner mais auquel je ne trouve solution.
Depuis le passage en heure d'été, mon PC y est donc passé tout seul mais surprise, en démarrant mon programme qui reste en heure d'hiver.
Ma question est donc de savoir si qulqu'un connait un solution pour récupérer l'heure correct
 (sans faire H % 86400 / 3600 + 1 +1).
(je récupère l'heure via le code :
        //inclure #include <time.h>
          long H;
          time(&H);            // Recupere l'heure
    printf("%ld heure, ", H % 86400 / 3600 + 1);
    printf("%ld minute, ", H%3600 / 60);
    printf("%ld secondes.", H%60);
)

                                 Cordialement,
                                             Bastien



jeudi 8 mai 2008 à 00:01:24 | Re : Heure d'été

jfrancois

Bonsoir,

Fonction localtime() pour récupérer l'heure locale.

Jean-François


jeudi 8 mai 2008 à 10:17:48 | Re : Heure d'été

BastienL21

Merci Jean-Francois mais comment fait-on pour récupérer l'heure à partir de ceci?
Si je met:

  long h = 0;
localtime(&h);
    printf("%ld", h);

il me retourne la valeur de base de h (si j'initialise h à 2, la console m'affiche 2...)
Pourais-tu mettre un petit bout de code qui permet de l'afficher STP?

Cordialement,
               Bastien

jeudi 8 mai 2008 à 10:52:39 | Re : Heure d'été

jfrancois

Voilà le nécessaire pour afficher la date et l'heure en heures locales :

#include <stdio.h>
#include <time.h>

int main(void)
{
   static const char* aszJours[] =
   {"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"};

   // --- Lire l'horloge et la convertir en heure locale
   time_t Time = time(NULL);
   tm* pTM = localtime(&Time);

   // --- Date
   printf("\n%s %02d/%02d/%04d (jour %d)\n"
         ,aszJours[pTM->tm_wday] // jour de la semaine (0=dim à 6=sam)
         ,pTM->tm_mday           // jour dans le mois (1 à 31)
         ,pTM->tm_mon  + 1       // mois (0 à 11)
         ,pTM->tm_year + 1900    // année / 1900
         ,pTM->tm_yday + 1);     // jour dans l'année (0 à 366)

   // --- Horaire
   printf("%02d:%02d:%02d"
         ,pTM->tm_hour           // heures (0 à 23)
         ,pTM->tm_min            // minutes (0 à 59)
         ,pTM->tm_sec);          // secondes (0 à 59)

   // --- Heure d'été/d'hiver
   if (pTM->tm_isdst > 0)
      printf(" (heure d'ete)");
   else if (pTM->tm_isdst == 0)
      printf(" (heure d'hiver)");
   else
      printf(" (heure d'ete/hiver inconnu)");
   printf("\n\n");
   return 0;
}

Ce qui donne :

Jeudi 08/05/2008 (jour 129)
10:49:05 (heure d'ete)

Jean-François


jeudi 8 mai 2008 à 10:59:42 | Re : Heure d'été

BastienL21

Merci beaucoup mais Code::Blocks m'affiche les messages suivant à la compilation:

error 'tm' undeclared (first in this fonction)
error 'pTM' undeclared (first in this fonction)


Cordialement,
                    Bastien

jeudi 8 mai 2008 à 11:50:42 | Re : Heure d'été

jfrancois

J'utilise Microsoft Visual C++ 6.0 mais j'ai aussi Code::Blocks 8.02 sous lequel je viens de tester ce petit programme tel quel : aucune erreur, aucun warning et résultat exact !

Jean-François


jeudi 8 mai 2008 à 12:02:24 | Re : Heure d'été

BastienL21

Je pense qu'il faudrait que je télécharge une version plus récente de Code: :Blocks pour commencer  (Je suis en 1.0 RC2 (!!!)) et que je réessaye.
Cordialement,
                    Bastien

jeudi 8 mai 2008 à 12:07:57 | Re : Heure d'été

jfrancois

Oui en effet, ce sont les débuts de Code::Blocks et il ne devait pas tout y avoir !

Jean-François


jeudi 8 mai 2008 à 12:10:12 | Re : Heure d'été

BastienL21

Merci beaucoup de votre aide,
 je vous tiendrais au courant lorsque j'aurais un version plus récente

Cordialement,
          Bastien
                    

jeudi 8 mai 2008 à 19:56:53 | Re : Heure d'été

BastienL21

Bonsoir,
J'ai installé  C::B 8.02!! mais .... Toujours ces mêmes message d'erreurs!! :-(
Quel type de variable est-ce senser être ? (car en effet je ne vois pas où elles sont déclarer); j'ai essayé de les déclarer, en type long... mais dans ces cas j'ai droit à "invalide value in assignement" à la compilation

Cordialement,
             Bastien
 


1 2 3

Cette discussion est classé dans : solution, printf, heure, ld


Répondre à ce message

Sujets en rapport avec ce message

A vore avis... [ par DeAtHCrAsH ] A votre avis quel est la solution la moins couteuse en ressource systeme pour declencher une procedure de mon application a un moment donné ?Je m'expl [Débutant ] Créer une calculatrice [ par rockerguitar ] Bonsoir à tous !Je suis nouveau dans le monde de la programmation. J'ai commencé il y a 3 jours. Mon projet est de créer un jeu musical sur la Nintend Problème de débutant en C [ par ArcHeretic ] Bonjour,Alors voila j'aimerais juste savoir ce qu'il cloche dans mon bout de code :#include #include using namespace std; [C++] Fenetre Bloquer lors de la recuperation de packets sous WinPcap [ par chris5 ] Bonjour a tous, je suis débutant amateur en programmation c++ et j'ai actullement un probleme avec WinPcap : Je n'arrive pas a faire de lecture de pac prob de virgule pour disision [ par stefbuet ] oui je sais c tt c** mais j'ai un trou de mémoire, car j'ai arrété le C pendant un pti moment et donc je me souvien plus trop d'un truc :pour faire l' probleme avec les if et else [ par alexfr34 ] alexfr34 Bonjour, j'ai perdu le fil avec le chat je ne comprends pas trop le mode d'emploi quelqu'un C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ?? [ par luckyalan ] Bonjour je  rebebute en C EN CONSOLE après 20 ans d'arret. (avec le tuto de m@teo)je n'arrive plus à faire les lignes de code permettant de saisir à l Conversion étrange [ par Ziman ] Bonjour,je viens de tomber sur un cas bizarre lol. En fait, je fais ceci un moment :chaine[x] = 130;printf ("%d\n", chaine[x]);pour attribuer à l'octe Editeur de liens (Au secours) [ par hotlips ] Bonjour,J'ai un problème avec l'éditeur de liens. La librairie mp3lame qu'utilise mon programme est à la bonne place dans /usr/local/lib, mais gcc me problème de if et else [ par ffnajia ] bonjour je comprend pas pourquoi le programme ci-dessous ne prend pas en compte l'éxistence de if et else!!!???#include#include using namespace std;


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.