Bonjour,
mon soucis est le suivant : j'ai une variable string représentant une date :
'11 Janvier 2010'
je n'arrive pas à la formater en un DateTime.
Quelqu'un a t'il une idée ?
A+
Bonjour,
mon soucis est le suivant : j'ai une variable string représentant une date :
'11 Janvier 2010'
je n'arrive pas à la formater en un DateTime.
Quelqu'un a t'il une idée ?
A+
windows 10 / DEBIAN 7.9 / Etc...
si tu veux utiliser strtodate, il faut convertir ta variable sous la forme JJ/MM/AA
et donc remplacer le mois par son numéro, et en extrayant l'année puis le mois
Un truc du genre
Tu auras besoin déclarer StrUtils;
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 function MyStrToDate(Date: String): TDate; Var d,m,y : Word; Mois: String; begin Result := Now; d := StrToInt(LeftStr(Date,2)); // On à le jour y := StrToInt(RightStr(Date,4)); // On à l'année Mois := MidStr(Date,4,Length(Date)-5); // on récupère le mois en lettre Case AnsiIndexStr(Mois,['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']) of 0: m := 1; 1: m := 2; 2: m := 3; 3: m := 4; 4: m := 5; 5: m := 6; 6: m := 7; 7: m := 8; 8: m := 9; 9: m := 10; 10: m := 11; 11: m := 12; end; Result := EncodeDate(y,m,d); end;
Si tu est sur de la donnée texte, tu peux simplifier en évitant le case
du Genre :
Sinon, si tu n'est pas sur de la donnée texte, tu peux aussi ajouter une écriture différente genre 'jan','fev', etc... et jouée avec l'integer retourner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part m := 1 + AnsiIndexStr(Mois,['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'])
Je l'ai pas testé, mais sa doit le faire..
merci buzz de ta transcription en langage claire (delphi ) de mes idées trop peu explicites pour cause d'une journée très chargée et d'une heure trop tardive.
Moralité ne jamais répondre à une demande d'aide avant d'aller se coucher.
Attention tout de même au jour qui pourrait n'être codé que sur un caractère .
Egalement une petite simpification du case:
Code : Sélectionner tout - Visualiser dans une fenêtre à part m := AnsiIndexStr(Mois,['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']) +1;
Salut @AndNotOr,
Tu vois une différence avec ma proposition (dans mon premier post) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part m := 1 + AnsiIndexStr(Mois,['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']);
Sorry Boy, j'avais à nouveau lu en diagonale
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager