One Star

convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

Hello
i have a probleme for convert a date :
2011-08-19T15:00:10.950+02:00
in this format :
2011-08-19
Thanks i'm french
6 REPLIES
Employee

Re: convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

Bonjour Johann,
Il te suffit d'utiliser le code suivant:
TalendDate.formatDate("yyyy-MM-dd", TalendDate.parseDate("yyyy-MM-dd'T'HH:mm:ss.SSSZ","2011-08-19T15:00:10.950+02:00"))
En gros tu vas convertir ton string en date, puis re en string.
One Star

Re: convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

Bonjour
et merci pour votre reponse .
malgres votre code je n'arrive pas a fair fonctionner mon job
voila quelques petites infos sur ce que je veux faire :
j'ai un fichier xml que je veux transformer en csv.
je passe par un tfileinputxml --> tmap -->tfileoutputdelimited
un des champ du xml est une date avec ce format :
2011-08-19T15:00:10.950+02:00
en fait je cherche un moyen de recuperer la date dans ce format:
2011-08-19
le script que vous m'avez donner renvoie des erreurs de format string en date.
Pouvez vous m'eclairer je debute avec talend.
Merci d'avance
nb: voici les images du prb et voici le liens du fichier xml :
http://api.zanox.com/xml/2011-03-01/incentives/?connectid=77815FA4CD5B9D044B75&region=FR&adspace=156...
Employee

Re: convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

En gros, deux erreurs ici:
1- Dans ton constructeur d'expression, tu as mis row1.createDate entre guillemets, du coup au lieu de recuperer la valeur de cette colonne, il essaye de convertir le text "row1.createDate" en date! Ce qui bien sur ne marchera pas :-) Donc enleve les guillemets ici.
2- Ce qui va sortir de cette expression est un string, et non une date. En effet, avec le code que je t'ai donne, tu convertis d'abord la colonne qui arrive en date, et ensuite tu extrais de cette date un string au format "yyyy-MM-dd", ta variable doit donc avoir un type String.
One Star

Re: convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

ok merci
One Star

Re: convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

Bonjour,
J'utilise Talend pour le chargement de ma base de données et j'ai des transformations à faire.
l'une des transformations c'est le calcule de l'age d'un patient, à partir de la date courante et sa date de naissance.
J'ai utilisé beaucoup de méthodes mais ça n'a rien donné
Methode 1:
row1.age==null? String.valueOf((TalendDate.diffDate(TalendDate.getCurrentDate(), row1.DateOfBirth,"yyyy"))):row1.age
Methode 2:
test.agePatient==null?String.valueOf((TalendDate.diffDate(TalendDate.getCurrentDate(), row6.dateNaiss,"yyyy"))).toString():test.agePatient)
Methode 3:
test.agePatient==null? String.((TalendDate.diffDate(TalendDate.getCurrentDate(),row6.dateNaiss,"yyyy"))).(TalendDate.parseDate(test.agePatient));
Methode 4:
test.agePatient== null? (String.valueOf((TalendDate.diffDate(TalendDate.getCurrentDate(),row6.dateNaiss,"yyyy"))).toString():test.agePatient);
Methode 5:
test.agePatient==null?((TalendDate.diffDateFloor(TalendDate.getCurrentDate(),row6.dateNaiss,"yyyy"))).toString():agePatient;

l'autre transformation que je dois faire enregistrer les valeurs récupérés comme un Path, ma séparation se fait avec "\" par exemple Valeur1\valeur2\valeur3

Est ce que quelqu'un peut m'aider SVP
Je vous remercie par avance,
Bien cordialement.
Seven Stars

Re: convert date 2011-08-19T15:00:10.950+02:00 in date 2011-08-19

Posting the same question for the fifth time but in French won't get you any more help. It just annoys people so you won't get responses on any question.