PDA

Visualizza la versione completa : [java] simpleDateFormat


Sandrocchio_0.1
13-01-2005, 12:27
Salve a tutti gente.
Sto provando a implementare un metodo che mi visualizzi la data in una forma un pò più carina per l'utente.
Ho qualche difficoltà a compilarlo a causa di incompatibilità di dati.
Qualcuno può dare un'occhiata a questo codice:

package manager;

import java.text.SimpleDateFormat;
import java.util.Date;

public class dateFormatTest {

private Date myDate;
private String formatDate;
private SimpleDateFormat df;
private long longTime;
private boolean before;

public dateFormatTest(String s) {
try {
df = new SimpleDateFormat("dd/MM/yyyy");
//df.parse(): it parses a string into date object
myDate = df.parse(s);
//getTime: obtains a long value from date. Helps me to convert it in a sql date
longTime = myDate.getTime();
before = myDate.before(new Date(0));
System.out.println("Hai immesso: "+myDate.toString()+" Equivale a: "+longTime+" millisecondi da \"Epoch\" "+" e viene "+(before ? "prima" : "dopo")+" \"Epoch\"");
} catch (Exception e) {System.out.println("Errore nel parsing della data "+e.toString());}
}

public Date getDate(){
System.out.println("giving date object from dateFormatTest ");
return myDate;
}

public long getLongDate(){
System.out.println("giving longdate value from dateObjectTest");
return longTime;
}
E questo è il metodo che vorrei richiamare dalla mia JSP


public String getFormatDate(){
try {
formatDate = df.applyPattern("d EEE, MMM, YYYY").toString();
System.out.println("giving FormatDate value from dateObjectTest"+formatDate.toString());
return formatDate;
} catch (Exception e) {System.out.println("Errore nel formatDate della data "+e.toString());}

}
}

L'errore che mi da il compilatore è questo:

manager\dateFormatTest.java:38: void cannot be dereferenced
formatDate = df.applyPattern("d EEE, MMM, YYYY").toString();
^
1 error

LeleFT
13-01-2005, 14:24
Il metodo applyPattern() dell'oggetto SimpleDateFormat non ritorna proprio nulla, quindi non puoi applicare il metodo toString().
Quello che devi fare tu è creare un SimpleDateFormat passando al costruttore il formato in cui vuoi ottenere la data e poi utilizzare il metodo format() per formattare un oggetto di tipo Date nel formato che hai scelto:


SimpleDateFormat df = new SimpleDateFormat("d EEE, MMM, YYYY");
Date d = ... // Acquisisci la data in un oggetto Date (anche se è deprecato)
String miaData = df.format(d);

Nella stringa miaData otterrai ciò che chiedi.


Ciao. :ciauz:

Sandrocchio_0.1
14-01-2005, 09:25
GRAZIE!!! :unz:

Loading