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