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 Delphi Discussion :

conversion d'un champs alphanumérique en format date


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut conversion d'un champs alphanumérique en format date
    bonjour,

    je voudrai récupérer un champs déclaré en alphanumérique de longueur 20 dans une table paradox et le transformer en format date, je ne sais comment le faire, qq'un puet m'aider svp?
    voilà un exemple de mon champs dans la table: "Sat 03 Jan 2009"
    merci d'avance!

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    tu peux essayer du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ShortDateFormat:='dd mmm yyyy'; // si ShortMonthNames est bien localisé en anglais, sinon traduire les mois...
    S:='Sat 03 Jan 2009';
    i:=Pos(#32, S); 
    S:=Copy(S, i+1, Length(S)-i); // S='03 Jan 2009'
    MyDate:=StrToDate(S);

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    en fait j'ai une table qui a plus de 1000 enregistrements avec plusieurs dates mais celles-ci sont enregistrées avec le format cités dans mon exemple (Sat 03 Jan 2009) et là je voudrai tout convertir en format date et le rendre comme ceci si je reprends mon exemple: Sat 03 Jan 2009 devient 03/01/2009

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShortDateFormat:='dd/mm/yyyy';
    S:=DateToStr(MyDate);
    autre possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    S:='Sat 03 Jan 2009';
    i:=Pos(#32, S); 
    S:=Copy(S, i+1, Length(S)-i); // S='03 Jan 2009'
    S:=StringReplace(S, #32, '/', [rfReplaceAll]); // S='03/Jan/2009'
    S:=StringReplace(S, Jan, '01', []); // S='03/01/2009'

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    merci bcp, ça a bien fonctionner sauf que j'ai un petit problème, il se trouve que lors de l'execution le programme j'ai un message qui dit que Jan n'est pas déclaré il ne le remplace pas donc par 01, en plus je n'ai pas que le mois de janvier, j'ai differents mois: Jan, Feb, Mar......Dec, du coup je ne sais comment procéder

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    hi hi !
    à toi de faire 12 lignes (1 par mois !) du style où n'on oublie pas les guillements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S:=StringReplace(S, 'Jan', '01', []);
    ce n'est pas le plus élégant, mais ça devrait aller...

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    bonjour!, merci bcp ça a bien fonctionné pour le mois de janvier, là je dois récupérer les tables pour les autres mois et tout mettre dans une table global, je verrai les résultats que ça donnera.

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    le résultat est bon, merci bcp

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

Discussions similaires

  1. conversion champ au format date + traitement
    Par patbeautifulday dans le forum VBA Access
    Réponses: 5
    Dernier message: 27/03/2009, 17h36
  2. Champ texte format Date, abrégé vide
    Par Junior_jef dans le forum IHM
    Réponses: 10
    Dernier message: 03/07/2007, 14h25
  3. [MySQL] Tri sur champ au format date - uniquement mois/année
    Par skippy86 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/01/2007, 12h27
  4. Conversion format Date
    Par Swaks dans le forum DB2
    Réponses: 1
    Dernier message: 09/11/2006, 15h55
  5. Date : conversion d'un champ numérique en date
    Par jevany dans le forum Access
    Réponses: 2
    Dernier message: 13/02/2006, 18h39

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