Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD] Date imprécise

4 réponses
Avatar
Pascal Raulet
Bonjour,

Comment feriez-vous pour gérer dans un fichier HF une date qui peut être
précise (jour+mois+année) ou imprécise (année seule ou mois+année)?

Cordialement,

Pascal Raulet

4 réponses

Avatar
Eric Demeester
dans (in) fr.comp.developpement.agl.windev, Pascal Raulet
ecrivait (wrote) :

Bonjour Pascal,

Comment feriez-vous pour gérer dans un fichier HF une date qui peut être
précise (jour+mois+année) ou imprécise (année seule ou mois+année)?



Je gèrerais ça à la main dans un champ chaîne de caractères, en
indiquant la date au format aaaammjj.

Ensuite, en fonction de la taille de la chaîne (8, 6 ou 4 caractères),
j'extrairais l'année, le mois et le jour.

Mes souvenirs du Wlangage commencent à être flous, mais ça donnerait à
peu près :

longueur_date est un entier = 0
ma_date est une chaine
annee est une chaine
mois est une chaine
jour est une chaine

ma_date = SansEspace(ma_date)
longueur_date = Taille(ma_date)
SELON longueur_date
CAS 8
// on a année, mois et jour
annee = Gauche(ma_date, 4)
mois = ExtraitChaine(ma_date, 5,2)
jour = Droite(ma_date, 2)
CAS 6
// Année et mois
annee = Gauche(ma_date, 4)
mois = Droite(ma_date, 2)
CAS 4
// Année uniquement
annee = ma_date
FIN

Mais il existe probablement d'autres solutions...

--
Eric
Avatar
Pascal Raulet
Le 31/03/2010 16:55, Eric Demeester a écrit :
Je gèrerais ça à la main dans un champ chaîne de caractères, en
indiquant la date au format aaaammjj.
Ensuite, en fonction de la taille de la chaîne (8, 6 ou 4 caractères),
j'extrairais l'année, le mois et le jour.
[...]



Merci Eric, çà devrait le faire. Il faut aussi prévoir le cas où la date
n'est pas renseignée, donc de longueur nulle.

Cordialement,

Pascal Raulet
Avatar
Eric Demeester
dans (in) fr.comp.developpement.agl.windev, Pascal Raulet
ecrivait (wrote) :

Bonsoir Pascal,

Merci Eric, çà devrait le faire. Il faut aussi prévoir le cas où la date
n'est pas renseignée, donc de longueur nulle.



Effectivement. Il faut, comme toujours quand on programme proprement,
tester tous les cas possibles, si possible dès la saisie des
informations.

Bon courage,

--
Eric
Avatar
JeAn-PhI
Après mûre réflexion, Eric Demeester a écrit :
dans (in) fr.comp.developpement.agl.windev, Pascal Raulet
ecrivait (wrote) :

Bonjour Pascal,

Comment feriez-vous pour gérer dans un fichier HF une date qui peut être
précise (jour+mois+année) ou imprécise (année seule ou mois+année)?



Je gèrerais ça à la main dans un champ chaîne de caractères, en
indiquant la date au format aaaammjj.

Ensuite, en fonction de la taille de la chaîne (8, 6 ou 4 caractères),
j'extrairais l'année, le mois et le jour.

Mes souvenirs du Wlangage commencent à être flous, mais ça donnerait à
peu près :

longueur_date est un entier = 0
ma_date est une chaine
annee est une chaine
mois est une chaine
jour est une chaine

ma_date = SansEspace(ma_date)
longueur_date = Taille(ma_date)
SELON longueur_date
CAS 8
// on a année, mois et jour
annee = Gauche(ma_date, 4)
mois = ExtraitChaine(ma_date, 5,2)
jour = Droite(ma_date, 2)
CAS 6
// Année et mois
annee = Gauche(ma_date, 4)
mois = Droite(ma_date, 2)
CAS 4
// Année uniquement
annee = ma_date
FIN

Mais il existe probablement d'autres solutions...



je fais un peu la même chose mais mon format de stockage est AAAA-MM-JJ
et je remplace les valeur manquantes par des espaces comme je peux
aussi traiter le cas de l'année absente

si remplace(remplace(ma_date,"-","")," ","") = "" alors //ma_date est
vide

si sansespace(ma_date[[a 4]]) <> "" alors // j'ai mon année

etc...

--
Cordialement JeAn-PhI