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

Requêtes MySQL Discussion :

Extraction de datetime en Heure Française


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 68
    Points : 44
    Points
    44
    Par défaut Extraction de datetime en Heure Française
    Bonjour à tous,

    Je suis confronté à un petit souci dans le cadre de mon job : je suis en train de produire du reporting par rapport à un outil de gestion d'incidents (Request Tracker pour ne pas le nommer).

    Je m'attaque à la table même des tickets dont voici la structure :
    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
    CREATE TABLE `Tickets` (
      `id` int(11) NOT NULL auto_increment,
      `EffectiveId` int(11) NOT NULL default '0',
      `Queue` int(11) NOT NULL default '0',
      `Type` varchar(16) default NULL,
      `IssueStatement` int(11) NOT NULL default '0',
      `Resolution` int(11) NOT NULL default '0',
      `Owner` int(11) NOT NULL default '0',
      `Subject` varchar(200) default '[no subject]',
      `InitialPriority` int(11) NOT NULL default '0',
      `FinalPriority` int(11) NOT NULL default '0',
      `Priority` int(11) NOT NULL default '0',
      `TimeEstimated` int(11) NOT NULL default '0',
      `TimeWorked` int(11) NOT NULL default '0',
      `Status` varchar(10) default NULL,
      `TimeLeft` int(11) NOT NULL default '0',
      `Told` datetime default NULL,
      `Starts` datetime default NULL,
      `Started` datetime default NULL,
      `Due` datetime default NULL,
      `Resolved` datetime default NULL,
      `LastUpdatedBy` int(11) NOT NULL default '0',
      `LastUpdated` datetime default NULL,
      `Creator` int(11) NOT NULL default '0',
      `Created` datetime default NULL,
      `Disabled` smallint(6) NOT NULL default '0',
      PRIMARY KEY  (`id`),
      KEY `Tickets1` (`Queue`,`Status`),
      KEY `Tickets2` (`Owner`),
      KEY `Tickets6` (`EffectiveId`,`Type`)
    ) TYPE=InnoDB;
    Mon souci est au niveau des champs Created, Started et Resolved. Les dates ont été insérées dans ces champs en heure GMT et je veux les récupérer en heure française.

    J'ai bien évidemment pensé à utiliser les fonctions addtime afin de rajouter 2h à toutes les heures, sauf qu'à Greenwich, ils ne fonctionnent pas avec le changement d'heure, contrairement à nous !

    Ma base tourne sur une Red Hat 5 dont la Timezone est défini à Europe/Paris. La base Mysql est configuré pour utiliser les TimeZone du système. Cependant, à l'extraction, je les récupère en heure GMT (bien évidemment, dans notre appli, nous avons le tout en heure française).

    L'un d'entre vous aurait-il une idée brillante afin de faire quelque chose ? Je pense pouvoir trouver une solution à l'aide d'un script shell mais si l'extraction pouvait être directement faire en heure française, ça m'éviterait quelques heures de scripting et, surtout, à l'avenir m'éviterait de jouer avec mon script pour le prochain basculement d'heure le mois prochain !

    Merci de votre aide,

    M.

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    Si le system, la base et l'application sont en timezone Europe/Paris, il y a peu de raisons pour que les dates soient stockées sur un autre timezone.

    L'application est-elle de type client serveur ?
    Si oui, existe-t-il des clients dans un autre timezone que Europe/France ?
    Si oui, alors c'est à la partie serveur de l'application de convertir les dates en timezone Europe/France reçues des clients avant persistence.

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    Salut Nudger,

    Merci de ta réponse. L'application est un "simple" portail PHP. Je pense cependant que le PHP se charge de faire la translation en Heure FR.

    J'ai finalement opté pour un script un peu bourrin mais efficace pour traiter les données.

    D'ailleurs, pour alimenter ce script, j'ai besoin de faire un dump d'une simple et unique table mais j'aimerai l'avoir au format Nom_de_la_table.sql et Nom_de_la_table.txt. J'ai trouvé comment dumper toutes les tables dans ce format mais l'une d'entre elles fait 4,4g sur un total de 4,5G et m'est totalement inutile... Si quelqu'un à la solution, ce serait génial, sinon, bah, je chercherai

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/04/2011, 14h11
  2. Obtenir l'heure Française sur un serveur distant
    Par Golzinne dans le forum Silverlight
    Réponses: 5
    Dernier message: 22/11/2010, 11h40
  3. [CR 2008] Extraction sur une date/heure
    Par campia dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 16/06/2009, 16h10
  4. extraction date datetime
    Par Alex35 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/11/2007, 11h18
  5. Convertir une heure GMT en heure française
    Par pouli dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2006, 09h57

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