Ti faccio un esempio pratico (NON è un buon esempio di programmazione, ma mostra un po' di features delle classi citate)
codice:
import java.text.*;
import java.util.*;
public class dateFormatTest {
private Date myDate;
private SimpleDateFormat df;
private long longTime;
private boolean before;
public dateFormatTest(String s) {
try {
df = new SimpleDateFormat("dd/MM/yyyy-kk:mm:ss-zzz");
myDate = df.parse(s);
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 static void main(String args[]) {
dateFormatTest dft1 = new dateFormatTest("1/1/1970-0:0:0-GMT");
dateFormatTest dft2 = new dateFormatTest("01/01/2005-00:00:00-PDT");
}
}
La parte fondamentale e
codice:
df = new SimpleDateFormat(...);
Con cui definisci il pattern che le date inserite avranno.
Nel caso del mio esempio, raccolgo
giorno/mese/anno-ore:minuti:secondi-zona
che potrebbe non rispecchiare necessariamente il formato della tua data: se ad esempio ricevessi mese-giorno-anno, potresti definire
codice:
df = new SimpleDateFormat("MM-dd-yyyy");
e passare le date al parser di conseguenza.
Ciao