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

Lazarus Pascal Discussion :

Convertir un temps GMT en temps local (avec gestion des heures d'été et hiver)


Sujet :

Lazarus Pascal

  1. #1
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut Convertir un temps GMT en temps local (avec gestion des heures d'été et hiver)
    Bonjour,

    Je récupère cette donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ROW
    OFFSET  Type        Name               Unit
    ------  ---------   ----------------   -----
    00      Double [8]  Timestamp          days from 12/30/1899 00:00:00 (GMT)
    Je voudrais pouvoir l'enregistrer dans une base de données en l'ayant converti juste avant en heure locale (avec gestion des heures d'été et heures d'hiver).

    Savez-vous comment je peux faire ?

    Merci,
    ZiP

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjouŕ
    Citation Envoyé par [ZiP] Voir le message
    Je récupère cette donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ROW
    OFFSET  Type        Name               Unit
    ------  ---------   ----------------   -----
    00      Double [8]  Timestamp          days from 12/30/1899 00:00:00 (GMT)
    Je voudrais pouvoir l'enregistrer dans une base de données en l'ayant converti juste avant en heure locale (avec gestion des heures d'été et heures d'hiver.
    Ne vaudrait-il mieux la conserver au format UTC et la convertir lorsque vous en avez besoin (je pense aux cas où cette heure serait utilisée depuis différents fuseaux horaires) ?

    Toutefois, pour la conversion, je procèderais comme suit : ajout du décalage horaire propre au fuseau horaire considéré, à l'heure UTC, puis conversion au format horaire local.
    Je regarderais du côté des fonctions suivantes GetTimeZoneInformation, UnixToDateTime.

    Après relecture, timestamp ne correspond pas ici au format unix (où 0 correspond au 01/01/1970 00h00m00s et où on compte en secondes et non en jour), mais le principe perdure moyennant quelques ajustements...

  3. #3
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Bonjour,

    En fait, je récupère les informations météorologique de ma station dans un fichier de données.

    Du coup, je ne sais pas si la gestion en UTC est utile dans mon cas.

    Je pensais procéder comme cela :
    1. Récupération de l'horaire au format GMT
    2. Transformation pour le mettre en horaire local (avec prise en compte des changements heures été/hiver)
    3. Enregistrement dans ma base de données MySQL


    Qu'en pensez-vous ?

    Merci,
    ZiP

  4. #4
    Membre éprouvé
    Homme Profil pro
    Everything
    Inscrit en
    Décembre 2013
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Everything

    Informations forums :
    Inscription : Décembre 2013
    Messages : 361
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par [ZiP] Voir le message
    Bonjour,

    En fait, je récupère les informations météorologique de ma station dans un fichier de données.

    Du coup, je ne sais pas si la gestion en UTC est utile dans mon cas.

    Je pensais procéder comme cela :
    1. Récupération de l'horaire au format GMT
    2. Transformation pour le mettre en horaire local (avec prise en compte des changements heures été/hiver)
    3. Enregistrement dans ma base de données MySQL


    Qu'en pensez-vous ?

    Merci,
    ZiP
    GMT est remplacé depuis longtemps par UTC. UTC est directement accessible par le programme. La transformation en heures locales avec les changements horaires automatiques est une source de gros problèmes.
    A la limite une transformation en Jour Julien présente l'intérêt de la continuité.

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/04/2012, 13h53
  2. Convertir une date GMT en date locale
    Par olibara dans le forum C#
    Réponses: 3
    Dernier message: 01/12/2008, 23h48
  3. commande shell avec gestion des erreurs
    Par nymus7 dans le forum Programmation et administration système
    Réponses: 0
    Dernier message: 06/08/2008, 13h59
  4. peupler un treeview avec gestion des noeuds
    Par Alabama-song dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/01/2008, 20h35
  5. Réponses: 8
    Dernier message: 15/10/2006, 18h45

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