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

Windows Discussion :

[WMI]Conversion de date


Sujet :

Windows

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut [WMI]Conversion de date
    Salut,
    j'essaie de convertie une chaine de caractéres représentant une date
    ('20050820151418.734375-000') mais je ne sais pas quel fonction appeller. J'ai utilisé un objet SWbemDateTime mais sans résultat.

    J'ai trouvé ceci :
    "La date et l'heure dans WMI sont représentées dans le format datetime DMTF."
    Sous .NET les fonctions de conversion existe mais pas sous Win32.

    Qq à une idée pour convertir cette date dans un format reconnu par Win32 ?

    Delphi Win32, Xp Pro.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Je ne sais pas si j'ai bien compris le problème (car la solution me semble relativement simple), mais je me lance quand même :
    1) tu découpes la chaîne pour en extraire ses éléments constitutifs (cf. CIM_DATETIME) ;
    2) tu remplis une structure SYSTEMTIME avec les éléments extraits.

    Il y aura peut-être une subtilité pour "compenser" le décalage par rapport à l'heure UTC exprimée dans la chaîne (3 derniers caractères), mais sinon...

    Euh...J'ai bon ?

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par David.Schris
    Je ne sais pas si j'ai bien compris le problème (car la solution me semble relativement simple), mais je me lance quand même :
    Oui mais hier je n'ai pas 'vue' la structure CIM_DATETIME au début, ensuite j'ai persisté dans une impasse
    Mais après des heures de recherche, une nuit de sommeil et ton post pour confirmer cela donne :
    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
       If WmiProperty.name='CreationTime'
         then
           With WmiDateTime do
           begin
             CreationTime:=WmiProperty.Get_Value;
             UTCSpecified:=True;
             Year:=StrToInt(Copy(CreationTime,1,4));
             Month:=StrToInt(Copy(CreationTime,5,2));
             Day:=StrToInt(Copy(CreationTime,7,2));
             Hours:=StrToInt(Copy(CreationTime,9,2));
             Minutes:=StrToInt(Copy(CreationTime,11,2));
             Seconds:=StrToInt(Copy(CreationTime,13,2));
             Microseconds:=StrToInt(Copy(CreationTime,16,6));
             Utc:=StrToInt(Copy(CreationTime,22,4));
             Write('Date : ',DateTimeToStr(GetVarDate(True)));
           end;
    Citation Envoyé par David.Schris
    1) tu découpes la chaîne pour en extraire ses éléments constitutifs
    Le paradoxe, à mon sens, c'est que WMI permet de faciliter les appels système mais de l'autre ne permet pas de manipuler 'correctement' le type de données DATE.
    Citation Envoyé par David.Schris
    Il y aura peut-être une subtilité pour "compenser" le décalage par rapport à l'heure UTC exprimée dans la chaîne (3 derniers caractères), mais sinon...
    Pour la gestion du fuseau horaire (UTC) je n'ai pas trouvé d'API Win32.
    Citation Envoyé par David.Schris
    Euh...J'ai bon ?
    Trés bon même.
    MERCI

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

Discussions similaires

  1. Conversion de date
    Par jdu dans le forum Access
    Réponses: 2
    Dernier message: 26/01/2005, 17h17
  2. Conversion de dates
    Par Gogoye dans le forum Modules
    Réponses: 5
    Dernier message: 10/08/2004, 12h39
  3. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 15h31
  4. Conversion de date lors d'un import
    Par bilbon.S dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 26/03/2004, 15h33
  5. Conversion de date et division 64 bits
    Par dway dans le forum Assembleur
    Réponses: 38
    Dernier message: 27/01/2004, 11h31

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