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

Langage PHP Discussion :

[Dates] Afficher l'heure d'un autre pays


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 24
    Points : 12
    Points
    12
    Par défaut [Dates] Afficher l'heure d'un autre pays
    Bonjour,

    J'ai actuellement besoin d'afficher l'heure exacte d'un pays a partir de son nom pays voir l'etat (pour les pays comme les USA ayant plusieurs fuseaux horaires).

    Ces noms sont stockees avec plusieurs autres informations sur le contact dans une base de donnees.

    J'aimerai donc en fonction de cette information calculer l'heure qu'il est pour ce contact.

    Pour cela, ma premiere solution que j'ai implemente a ete de telecharger une base de donnee de tous les pays avec le timezone correspondant. Mon probleme est que la base est trop light, et n'affiche qu'un timezone pour les usa par exemple.

    J'ai egalement une contrainte qui est la version de PHP : 4.2

    Je pensais qu'une fonction PHP realisant cela existerait mais je n'en ai pas trouve et encore moins fonctionnant avec mav version php. J'ai pas trouve de bases de donnees plus completes que la mienne a telecharger sur le net : la plupart du temps il s'agit d'un site web te calculant l'heure mais ne te permettant pas d'exploiter l'information depuis mon site.

    Que feriez vous pour resoudre ce probleme ?

    Merci d'avance

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Ces noms sont stockees avec plusieurs autres informations sur le contact dans une base de donnees.
    De deux choses l'une, soit tu crée une colonne TZ (time zone) sur le Pays, soit directement sur le contact.
    Cela te permettra de calculer les différences horaire.

    Par contre il y a un truc auquel faire très attention...
    Les calculs horaires se feront a partir de l'heure du serveur... Et si tu es en France, l'heure ne sera pas la meme sur un serveur americain et un serveur japonais au meme moment...

    Par contre tu peux essayer de faire tes calculs a partir de l'heure GMT

    Je te conseille d'aller voir la liste des fonctions natives PHP pour le traitement des dates :
    http://fr3.php.net/manual/fr/function.date.php

    @+
    cadou

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    En fait je me suis cree une base de donnees avec les noms de pays et les timezone.

    Et quand je veux afficher l'heure je change le timezone de mon serveur pour le remplacer par celui du pays et j'affiche la date, puis ensuite je remet le timezone du serveur comme il faut.

    J'ai deja regarde les fonctions de date, pour beaucoup, elles ne fonctionnent pas avec ma version de php donc je peux pas m'en servir ... (je me sers de put() pour changer la variable globale pour le timezone ..)

    Mon probleme est que ma base est trop light, et ne gere pas les cas ou un pays a plusieurs fuseaux ...

  4. #4
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Je ne comprends pas.
    Pourquoi changes tu le Timezone de ton pays ?
    Tu n'as pas plus vite fais de faire le calcul de différence entre ton serveur et le pays ?

    Tu as combien de pays ? dans les 150 a 160 ?
    Et tu dois avoir 4 ou 5 pays suffisamment vaste pour avoir des fuseaux différents comme les USA, l'inde ou la chine... La russie et peut etre l'australie...

    En tapant une recherche j'ai trouvé ceci :

    http://tidszoner.dk/

    http://fr.wikipedia.org/wiki/Fuseau_horaire

    A voir si cela peut t'aider

    @+
    cadou

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Oui je pourrais les calculer egalement ... ca serait meme mieux de pas avoir de changement d'heures sur le serveur.

    Par contre les sites que tu me passes sont certes interressant, mais ils m'obligent a faire la base de donnees moi meme a la main ... j'esperais trouver une base de donnee toute faite ou alors un module me permettant d'envoyer et recevoir des donnes sur une base de donnes sur le web ...

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Je complete mon post ....

    Tu me demandais pourquoi je ne calcule pas la nouvelle heure au lieu de changer ma variable TZ avec put() sur le serveur et la reponse est en fait que je ne peux pas faire autrement. Cet article pour confirmer :

    http://drakecms.sourceforge.net/inde...d=32&Itemid=10

    Donc a prioris je vais garder ce que j'ai fait et rajouter les etats des USA dans ma table pour avoir une heure plus precise ...

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

Discussions similaires

  1. [PHP 5.3] fonction date - afficher des heures au délas de 24H
    Par Michel Rotta dans le forum Langage
    Réponses: 9
    Dernier message: 04/05/2011, 11h13
  2. heure locale en heure d'un autre pays
    Par SegmentationFault dans le forum C
    Réponses: 12
    Dernier message: 19/04/2007, 08h55
  3. Réponses: 2
    Dernier message: 07/04/2007, 17h57
  4. afficher l'heure et date
    Par ulysse031 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 24/03/2007, 16h22
  5. [Dates] Afficher à des heures aléatoires ?
    Par kevinf dans le forum Langage
    Réponses: 20
    Dernier message: 03/12/2006, 00h30

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