Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 06 November 2007 15:55

biloute31
Juste Inscrit !
Date d'inscription: 26 Oct 2007
Messages: 5

Format d'une date

Bonjour,

Voilà mon soucis:
J'ai crée une interface dans laquelle on saisit des dates avec le format : JJ/MM/AAAA
Toutes ces dates doivent au fur et à mesure des ajouts être répertoriées dans un texte recapitulatif avec le format : AAAAMMJJ (les "/" disparaissent et tout s'inverse. Pour 22/01/1979 on doit avoir 19790122).

Je n'arrive pas à passer du premier format au second.
J'ai essayé de découper JJ/MM/AAAA pour ensuite reorganiser ma date en AAAAMMJJ, ensuite j'ai essayé des choses du type "set format date", "set date window", sans succès...

Quelqu'un pourrait m'aider?

Hors ligne

 

#2 Tue 06 November 2007 16:14

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Format d'une date

Bonjour
StringToDate("22/01/1979") devrait vous donner: 19790122

Hors ligne

 

#3 Tue 06 November 2007 16:22

biloute31
Juste Inscrit !
Date d'inscription: 26 Oct 2007
Messages: 5

Re: Format d'une date

Imaginons que j'ai mis ma date dans une variable de type date nommée DATEDEBUT
J'ai definit un integer DATE
J'ai essayé de faire DATE = StringToDate(DATEDEBUT), DATE = StringToDate("DATEDEBUT")
et ensuite je fais: alter control ET_Recap value str$(DATE), mais ca ne marche pas...

Je précise que je débute en mapbasic, alors je ne me rends pas vraiment compte de la difficulté...

Hors ligne

 

#4 Tue 06 November 2007 16:41

Marc-André
Participant assidu
Lieu: Montréal
Date d'inscription: 30 Sep 2005
Messages: 688

Re: Format d'une date

Bonjour,

Une solution serait créer des colonnes temporaires (Annee, mois, jour, par exemple) puis de les mettre à jour avec les fonctions
Right$(Date_format_J_M_A, 2),
Mid$(Date_format_J_M_A, , 3, 2) et
Left$(Date_format_J_M_A, 4).
Une fois les information séparées dans les trois colonnes, il faut les concaténer en mettant à jour la colonne qui recevra les dates dans le format désiré. "Annee"+"mois"+"jour"

Hors ligne

 

#5 Tue 06 November 2007 16:58

biloute31
Juste Inscrit !
Date d'inscription: 26 Oct 2007
Messages: 5

Re: Format d'une date

J'ai peur de trop en demander mais peux tu me montrer comment faire tout ca stp?

Hors ligne

 

#6 Tue 06 November 2007 18:33

Marc-André
Participant assidu
Lieu: Montréal
Date d'inscription: 30 Sep 2005
Messages: 688

Re: Format d'une date

Bonjour,
La première étape est simple:
Créer trois colonnes à partir du menu suivant:
Table --> Gestion tables --> Modifier structure.
Une fois terminé, il y a les colonnes suivantes:
Colonne «Jour»
Colonne «Mois»
Colonne «Annee»
(Elles peuvent porter d'autre nom, mais ceux-ci sont simples).

Deuxième étape:
Je suppose ici que ta colonne de départ se nomme «Date_JMA», bien que dans la vraie vie elle porte un autre nom.
Il faut mettre à jour les colonnes à l'aide su menu suivant:
Table --> Mettre à jour colonne...
    Table à mettre à jour:            Nom_de_ta_table
    Utiliser la colonne de la table: Nom_de_ta_table (Dans ce cas-ci, c'est la même)
    Colonne à mettre à jour:        Annee
    Valeur:                                 Right$(Date_JMA,4)
La fonction Right$ garde les «n» derniers caractères de la colonne sélectionnée.
Dans ce cas-ci, elle garde les 4 derniers caractères de la colonne «Date_JMA».

Répétez cette étape pour les colonnes restantes avec les paramètres suivants:
-Pour la colonne «jour», utilisez la pour la valeur: Left$(Date_JMA,2).
La fonction Left$ garde les «n» premiers caractères de la colonne sélectionnée.
-Pour la colonne «mois», utilisez la pour la valeur: Mid$(Date_JMA,4,2).
La fonction Mid$ garde les «n» premiers caractères de la colonne sélectionnée, à partir du caractère «x». Dans ce cas-ci, deux caractères seront conservés, à partir du 4è.

La troisième étape sert à concaténer les valeurs des trois colonnes qui ont étés crées dans la colonne que je nomme ici «Date_AMJ» (Je sais que dans la vraie vie, qu’elle n’a pas ce nom-là), qui est prête à recevoir les dates sous le format AAAAMMJJ.

Il faut mettre à jour la colonne «Date_AMJ» à l'aide su menu suivant:
Table --> Mettre à jour colonne...
    Table à mettre à jour:            Nom_de_ta_table
    Utiliser la colonne de la table: Nom_de_ta_table (Dans ce cas-ci, c'est la même)
    Colonne à mettre à jour:        Date_AMJ
    Valeur:                                 Annee+Mois+Jour

Bonne manipulation.

Hors ligne

 

#7 Tue 06 November 2007 19:24

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Format d'une date

biloute31 a écrit:

J'ai definit un integer DATE
...DATE = StringToDate(DATEDEBUT)...


Si DATEDEBUT et DATE sont définis en caractère, ça devrait marcher ...
Il faudra ensuite si nécessaire passer ce DATE caractère en format date

Hors ligne

 

Pied de page des forums

Powered by FluxBB