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 :

date time des pays


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Par défaut date time des pays
    Bonjour,

    je souhaite faie une petite application qui me permet d'avec la date et l'heure de n'importe quel pays

    par ex:

    monprog.exe newyork => et ca me donne l'heure de newyork
    ou

    monprog.exe canada => ca me donnerait l'heure du canada

    j'imagine qu'il faut gerer le GMT

    est ce que c'est faisable ?

    auriez vous des pistes ?

    quelqu'un aurait deja fait cela ?

    Merci de votre aide.

  2. #2
    Membre confirmé Avatar de amine6441
    Inscrit en
    Novembre 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 85
    Par défaut
    Voici un petit code mais tu dois développez ça logique
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    #include   <stdio.h>
    #include   <conio.h>
    #include   <dos.h>
    int main(void){
       int rep;
       clrscr();
      struct dostime_t t;
    	do{
    	printf("DONNER La ville\n");
    	printf("[1]...Paris,Madrid,Bruxelles,Copenhague.\n");
    	printf("[2]...Athene,Istanbul,Minsk,Bucarest,le caire.\n");
    	printf("[3]...Baghdad,Koweit,Ryad,Nairobi.\n");
    	printf("[4]...pékin,chongqing,hong kong,Urumqi.\n");
    	printf("[5]...Heur Atlantique Canada.\n");
    	scanf("%d",&rep);
    	}
    	while(rep>5||rep<1);
    	switch(rep){
    			case 1:
     
    			_dos_gettime(&t);
    			printf("@$The current time is: %2d:%02d:%02d.%02d\n", t.hour, t.minute,
    			 t.second, t.hsecond);
    			 break;
    			case 2:
    			_dos_gettime(&t);
    			t.hour++;
    			printf("@$The current time is: %2d:%02d:%02d.%02d\n", t.hour, t.minute,
    			t.second, t.hsecond);
    			break;
     
    			  case 3:
    			_dos_gettime(&t);
    			t.hour=t.hour+2;
    			printf("@$The current time is: %2d:%02d:%02d.%02d\n", t.hour, t.minute,
    			t.second, t.hsecond);
    			break;
     
     
    			  case 4:
    			_dos_gettime(&t);
    			t.hour=t.hour+7;
    			printf("@$The current time is: %2d:%02d:%02d.%02d\n", t.hour, t.minute,
    			t.second, t.hsecond);
    			break;
    			case 5:
    			_dos_gettime(&t);
    			t.hour=t.hour-4;
    			printf("@$The current time is: %2d:%02d:%02d.%02d\n", t.hour, t.minute,
    			t.second, t.hsecond);
    			break;
     
     
    	}
    	getch();
    	return 0;
    }

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    tu gères un table de hachage (ou un tableau) ou tu vas chercher pour un pays donné le décalage / gmt.

    Donc ton code

    1/ tu charges ta table de hachage (si besoin)
    2/ tu recherches le pays dans ta table de hachage ou ton tableau
    3/ tu récupères le temps gmt courant
    4/ tu appliques l'offset
    5/ tu adaptes le resultat avec mktime
    5/ tu affiches...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Par défaut
    merci , c'est ce que je cherchait

  5. #5
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par vicenzo Voir le message
    tu gères un table de hachage (ou un tableau) ou tu vas chercher pour un pays donné le décalage / gmt.

    Donc ton code

    1/ tu charges ta table de hachage (si besoin)
    2/ tu recherches le pays dans ta table de hachage ou ton tableau
    3/ tu récupères le temps gmt courant
    4/ tu appliques l'offset
    5/ tu adaptes le resultat avec mktime
    5/ tu affiches...
    quelle complication !!!!!!!!!!!!!!!!!!!


    en C, les structures de temps fournissent le timezone....

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    quelle complication !!!!!!!!!!!!!!!!!!!


    en C, les structures de temps fournissent le timezone....
    Et ? Ca permet de calculer l'heure locale, masi pas l'heure de n'importe quel fuseau horaire. Pour ça, il faut bien une base de données villes/fuseau (qui doit exister toute faite en format texte sur le net)...

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par amine6441 Voir le message
    Voici un petit code mais tu dois développez ça logique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include   <stdio.h>
    #include   <conio.h>
    #include   <dos.h>
     
    			_dos_gettime(&t);
    Pourquoi du code pas portable ? Tu ne connais pas time(), gmtime(), mktime() etc. de <time.h> ?

  8. #8
    Membre confirmé Avatar de amine6441
    Inscrit en
    Novembre 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 85
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Pourquoi du code pas portable ? Tu ne connais pas time(), gmtime(), mktime() etc. de <time.h> ?
    _dos_gettime(&t);est une fonction de la bibliothèque dos qui donne le temps courant
    Ca veut dire quoi un code portable ???

  9. #9
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ca veut dire quoi un code portable ???
    C'est un code indépendant de l'OS ou du hardware.

  10. #10
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Bon, Les Anglais ont vaincu les Australiens.... Cela redonne un peu de moral !

    Bon voici un code fonctionnel fait sur le pouce (c'est bien fait pour les australiens !) avec une liste de ville paramétrable dans un fichier... Cela devait te donner une petite idée

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
     
    #define NB_ARGS 2
     
    int main(int argc, char *argv[])
    {
        FILE *f;
        char *p, buf[250];
     
        if (argc != NB_ARGS)
        {
            puts("arguments incorrects");
            return 0;
        }
     
        f = fopen("tz.conf", "r");
     
        if (!f)
        {
            puts("Base des villes introuvable");
            return 0;
        }
     
        while (fgets(buf, sizeof(buf), f))
        {
            for (p = buf; *p != 0 && *p != ':'; p++);
     
            if (p && strnicmp(argv[1], buf, p-buf-1) == 0)
            {
                time_t tmt = time(NULL);
                struct tm t = *gmtime(&tmt);
     
                t.tm_hour += atoi(++p);
     
                mktime (&t);
                strftime (buf, sizeof (buf), "Heure courante : %d/%m/%Y %H:%M:%S", &t);
                puts(buf);
     
                fclose(f);
                return 1;
            }
        }
     
        puts("Ville introuvable");
     
        fclose(f);
        return 0;
    }
    Exemple de fichier tz.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    paris:+1
    londres:0
    miami:-6
    seattle:-10
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >test_dev miami
    >Heure courante : 06/10/2007 11:36:40
    J'espère que cela aura pu t'aider.. Faut que j'aille allumer les bougies pour ce soir. Un prière de plus ne sera superflue !
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  11. #11
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par amine6441 Voir le message
    _dos_gettime(&t);est une fonction de la bibliothèque dos qui donne le temps courant
    Ca veut dire quoi un code portable ???
    http://emmanuel-delahaye.developpez....s.htm#standard

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

Discussions similaires

  1. [Débutant] Manipuler des Date/Time
    Par Heri75011 dans le forum Prolog
    Réponses: 7
    Dernier message: 25/03/2014, 14h48
  2. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02
  3. Commande date. Faire des opération sur l'heure?
    Par fidififouille dans le forum Linux
    Réponses: 9
    Dernier message: 23/08/2004, 15h16
  4. [DATE][TIME] Manque 1 heure
    Par cpr0 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 01/07/2004, 16h43
  5. base avec nom des pays
    Par jack-daniel dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/07/2003, 14h16

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