Era un problema con cui mi sono scontrato per un bel po' di tempo...Avevo bisogno di riformattare le date, usate come parametro, nella creazione di un report da usare all'interno di un campo di tipo String.
Purtroppo tra la scarsa documentazione online su iReport e il poco tempo a disposizione ha lasciato aperta questa problematica per qualche mese.
Fortunatamente l'altro giorno avendo il tempo di mettere insieme un paio di idee sono riuscito a trovare la soluzione.
Il primo passo per giungere al risultato voluto è stato dato dal fatto che qualsiasi funzione aggiuntiva può essere scritta in Java. Però io non conosco questo linguaggio e non mi è rimasto altro che iniziare a googlare (neologismo per effettuare ricerche sul web con google).
Quindi scopro che esiste la seguente funzione SimpleDateFormat.
Non mi resta che indicare la tipologia di formattazione voluta (utilizzo quella italiana "dd/MM/yyyy") e l'oggetto sul quale voglio applicare la funzione (stavo utilizzando un parametro $P{SelectDay} ma la cosa si può applicare anche ai campi del dataset).
A voi il risultato finale:
"Testo fisso del campo "+new SimpleDateFormat("dd/MM/yyyy").format($P{SelectDay})
Spero possa essere d'aiuto a chi si trovasse con la mia stessa problematica.
Alla prossima.
Wsc
2 commenti:
ciao,
ho provato ad utilizzarlo ma non mi funziona...
mettendo:
new java.sql.Timestamp(new SimpleDateFormat("dd/MM/yyyy").format($F{DTA_PUBBLICAZIONE}))
jreport mi valida l'espressione correttamente ma quando compilo da jdeveloper mi dà come errore:
Error(214,26): cannot cast class java.lang.String to class java.sql.Timestamp
c'è una soluzione?
grazie
Mi sembra che tu stia facendo una doppia conversione, da data a stringa e di nuovo a data.
Non so se funziona con i doppi new. Forse ti conviene usare le impostazioni del campo e inserire l'edit format non nella formula ma nel campo proprietà di iReport.
Posta un commento