PDA

Visualizza la versione completa : [JAVA] Costruttore Date(String s)


citrus
19-01-2004, 11:49
ciao a tutti.
ho scritto un applicazione che scrive su un file di testo delle date nel formato dato dal metodo ToString() della classe Date
(per intenderci: Mon Jan 19 10:25:23 CET 2004).
ora vorrei che leggendo dal file sia possibile ricostruire l'oggetto data.
Ho visto nella documentazione che esiste un costruttore che accetta come argomento una stringa è che in teoria dovrebbe essere in grado di interpretare questo tipo di formato.
il problema è che la cosa non funge!!!!!

il compilatore mi da un errore generico sul costruttore:

InputOutputManager.java:16: cannot resolve symbol
symbol : constructor Date (java.lang.Object)
location: class java.util.Date
Date data = new Date(stk.nextElement());

qualcuno può aiutarmi?
accetto anche altre soluzioni nel caso in cui la mia fosse "contorta"...

grazie mille
citrus
:(

citrus
19-01-2004, 13:34
nella documentazione il costruttore Date(string s) è segnato come "deprecated".
possibile che sia stato rimosso e che quindi non viene riconosciuto per questo motivo?
mi sembrerebbe strano...
però l'unica altra possibilità è che la stringa che gli passo non sia formattata correttamente e in quel caso dovrebbe generare un eccezione specifica giusto?
mha! :dhò:
la classe DateFormat invece non preveede un costruttore di questo tipo.... :(
eppure ci deve essere un modo per costruire una data a partire da una stringa!!!
:master:
help!!!!

LeleFT
19-01-2004, 14:56
E' segnato come deprecated perchè è stata introdotta la classe Calendar, ma l'errore che ti riporta il compilatore è di altro genere:

tu hai un oggetto (un'Enumeration) che ti restituisce, con nextElement() un Object. Se quell'Object è una stringa, devi farne il casting:



Date data = new Date(stk.nextElement()); // ERRATO: manca il casting
Date data = new Date((String) stk.nextElement()); // Corretto?
// Non si sa: l'oggetto di stk.nextElement() dovrebbe essere una stringa


Ciao.

citrus
19-01-2004, 15:06
che vergogna!!!!
l'errore era proprio sotto il mio naso!
:quote:
grazie mille, mi hai sbloccato!!!
citrus
:D

LeleFT
19-01-2004, 15:09
Prego... siamo qui apposta! :gren:


Ciao.

citrus
29-01-2004, 12:58
insisto ancora ma mi hanno cambiato il formato da usare per la data ed ho qualche problema.
questo è il nuovo formato:
gg/mm/aaaa hh:mm:ss AM (o PM).
il problema è che non so gestire il discorso AM / PM e non trovo una classe adeguata (ce ne sono troppe!).
qualcuno può consigliarmene una?
ricordo che dev'essere anche possibile costruire una data a partire da una stringa di quel tipo quindi mi occorre anche un metodo o un costruttore che mi aiuti da questo punto di vista...
grazie
citrus

patrix03
29-01-2004, 13:17
http://java.sun.com/j2se/1.4.1/docs/api/java/text/SimpleDateFormat.html

questo dovrebbe risolvere tutti i problemi :)

citrus
29-01-2004, 14:58
avevo già guardato le Api ma purtroppo non riesco a formattare e a raccogliere una data del tipo "22/12/2003 03:25:11 PM" ed è l' ampm a darmi problemi perchè non fosse per quello non avrei nessun problema.
help!
:dhò:

patrix03
29-01-2004, 15:36
posta un po il codice che vediamo

citrus
29-01-2004, 15:47
(... non ho codice da postare ...)
praticemnte mi serve un metodo per raccogliere date di quel formato.
io ho provato con
SimpleDateFormat data=new SimpleDateFormat("22/12/2003 3:20:47 PM);
ma mi solleva una ParseException...
e così pure per molti altri.....
ex:
Date miaData = java.text.DateFormat.getInstance().parse("22/12/2003 03:20:47 PM");
(stessa cosa!)

ed è sempre il pm a rompermi le balle perchè tolto questo la cosa funziona alla perfezione!

Loading