PDA

Visualizza la versione completa : [java] da STRING a DATE


Sandrocchio_0.1
02-01-2005, 01:41
ragazzi sono un pò nel pallone:confused:
devo trasformare due parametri presi come stringhe in oggetti date. Non riesco ad individuare la soluzione corretta.

prendo i due campi dalla request

String arr_dateValue = request.getParameter("arr_date");
String dep_dateValue = request.getParameter("dep_date");


e poi ho incominciato a pensare....
e se scrivo così...

Date arr_dateValue = new Date(request.getParameter("arr_date"));


oppure...

String arr_dateValue = request.getParameter("arr_date");

Date arr_date = new Date(arr_date.parse(arr_dateValue));

HO forse nessuna di queste.
Scusate la banalità della domanda, ma sono all'inizio. :bhò:

DYNAM!C+
02-01-2005, 02:09
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html


usa il costruttore che ti sembra piu' giusto!

per le String

DateFormat.parse(String s)

Andrea1979
02-01-2005, 15:45
Ti faccio un esempio pratico (NON è un buon esempio di programmazione, ma mostra un po' di features delle classi citate)



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


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



df = new SimpleDateFormat("MM-dd-yyyy");

e passare le date al parser di conseguenza.
Ciao

Sandrocchio_0.1
02-01-2005, 19:57
quindi se provo in questa maniera dovrebbe funzionare.

String arr_dateValue = request.getParameter("arr_date");

Date arr_date = new Date(arr_date.parse(arr_dateValue));

:bhò: Appena riesco a far partire tutta la baracca provo a vedere.
Grazie mille per l'aiuto.

Loading