|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
Bonjour,
J'ai un problème dans un tMap. Je lis un flux RSS (tRSSInput) dans lequel le champs pubDate est : Soit en GMT (Valeur ramenée : "30 Apr 2011 14:53:53 GMT") Soit en CEST (Valeur ramenée : "") Mon champs de table est en DateTime. Je souhaite donc dans mon outPut de tMap avoir quelque chose du style Si row1.pubdate = vide Alors date = datetime.now() Sinon date = row1.pubdate convert to datetime Pour l'instant, j'essaye de gérer la chaine vide en faisant ça (mais ne fonctionne pas) : Code :
|
||
|
|
00
|
|
|
#2 | |||
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
J'ai essayé ça :
Code :
Citation:
|
|||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Étudiant Inscription : juillet 2011 Messages : 20 ![]() |
Il ne faut pas mettre entre parenthèses TalendDate.getCurrentDate() tout d'abord je pense.
Ensuite la méthode parseLong et la classe Long prend un String en paramètre et non un Datetime |
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
Merci de me répondre, je désespérais ...
Peux-tu être plus explicite ? row1.PUBDATE est un string et je ne comprend pas les parenthèses ? Tu veux dire guillemets ? sans, ça ne marche pas non plus. J'essayes ça aussi : Code :
20 Jul 2011 12:13:00 GMT Je prends toute idée |
||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Étudiant Inscription : juillet 2011 Messages : 20 ![]() |
Oui excuse moi, c'était "guillemets" et non parenthèses.
Cela te renvoit quoi comme erreur "getCurrentDate()" ? Je pensais que row1.PUBDATE était un Datetime donc le souci ne vient pas de là effectivement. Il faudrait essayer de modifier la donnée avant de l'envoyer dans la fonction parseDate. Il faudrait écrire une petite routine qui prend row1.PUBDATE en paramètre, ajuste l'heure en fonction de GMt+1,+2 etc... et renvoie tout cela sans l'info GMT justement. preparePubdate(20 Jul 2011 12:13:00 GMT+2) ---> 20 Jul 2011 10:13:00 par exemple Je pense que le parseDate fonctionnera ensuite |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
Pfffuuuu j'y capte rien ... Je désèspère. Jamais fais de JAVA en plus ...
L'erreur avec getCurrentDate : "la méthode parseDate(String, String) du type TalendDate ne s'applique pas aux arguments (String, Date). Du coup je m'étais dis de mettre juste celle-ci puisqu'il la considère comme une date. Mais non ... Le champs PUBDATE d'un flux RSS est au format String. C'est bien mon problème hélàs |
|
|
00
|
|
|
#7 | ||||
|
Membre à l'essai
![]() Étudiant Inscription : juillet 2011 Messages : 20 ![]() |
Pas facile effectivement quand on n'a jamais fait de java.
Déjà pour résoudre le problème de la date actuelle, tu n'as pas besoin de faire un parseDate, il te suffit d'écrire : Code :
Ou si GMT n'est pas important , tu peux écrire : Code :
|
||||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
Pas mal ça ... Justement, je me fiche du GMT.
Il manquait une ")" mais j'ai quand même : Impossible de créer une référence statique à une méthode non statique indexOf(String) à partir du type String |
|
|
00
|
|
|
#9 | ||
|
Membre à l'essai
![]() Étudiant Inscription : juillet 2011 Messages : 20 ![]() |
Oui c'est moi le boulet :
Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Voilà, essai avec ce bout de code,
Je l'ai testé il marche pour moi. Code :
N.B : Tu peux garder le GMT et l'inclure dans ton pattern, pas obligé de faire un subString. Bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
||
|
|
00
|
|
|
#11 | |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
J'aurais pu le voir aussi lol ... Mais non :
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
Ok, alors ça, ça fonctionne.
Mais (il y en a toujours un) : Je perds les heurs, minutes, secondes ... Et ça, je ne peut pas me le permettre. |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Qu'est ce que tu veux dire par tu perds les heures, minutes et les secondes ?
Est ce que tu stockes les données dans une BD et tu ne les retrouves pas ? ou bien tu affiches dans la console avec un tlogRow ?
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
Pour l'instant un tLogRow (j'ai désactivé ma table MySQL).
Et dans le tLogRow la date est : 15-07-2011 au lieu de par exemple : 15-07-2011 18:51:12 |
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Pour le tLogRow il faut modifier le pattern d'affichage, toi tu as laissé celui par défaut, càd dd-MM-yyyy, il faut mettre un pattern qui affiche les heures, minutes, etc ...
Va sur les propriétés de ton tLogRow et modifie le shéma en mettant ce pattern par exemple dd MMM yyyy HH:mm:ss pour ta date
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
je ne savais pas qu'on pouvais paramétrer le tLogRow
Ben les gars un grand merci à vous ! Tout à l'ai de fonctionner nickel. Je teste dans ma table et je vous dis si j'ai un soucis. |
|
|
00
|
|
|
#17 |
|
Membre à l'essai
![]() Étudiant Inscription : juillet 2011 Messages : 20 ![]() |
N'oublie pas un petit [Resolu] pour ton titre de post
|
|
|
00
|
|
|
#18 | |
|
Invité régulier
![]() Inscription : août 2006 Messages : 104 ![]() |
J'aurais bien aimé mettre résolu mais je découvre un bug ce matin :
Mon job qui tourne parfaitement dans mon studio ne fonctionne plus une fois publié sur mon serveur. J'ai les erreurs suivantes : Citation:
Une idée ? |
|
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Bonjour,
La date que tu essaies d'insérer dans ta base contient le 'GMT' je pense qu'il faut l'enlever de là !! Sinon quel est le type exacte de ta colonne dans la base MySql ? c'est dateTime, ou bien timeStamp, ou ... ?
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#20 |
|
Nouveau Membre du Club
![]() Inscription : mars 2009 Messages : 155 ![]() |
je suis venu un peu en retard, scoot tu avais qlq part en haut qil te renvoi comme erreur (date, string ) à la place de (date, date) ce que ton 2e argument devrait etre une date. il faut que tu le parse(ton parametre en string) avec la methode talenddate.parsedate pour que il devienne une date.
essai |
|
|
01
|
Copyright © 2000-2012 - www.developpez.com