View Full Version : [JAVA] JCalendar e java.util.Date
fbcyborg
01-10-2007, 16:12
Salve a tutti,
sto sviluppando un'applicazione con accesso a DBMS e quindi devo trattare le date in un certo modo.
L'applicazione prevede dei form di inserimento in cui è utilizzato il componente JCalendar preso da questo (http://www.toedter.com/en/jcalendar/) sito.
Tutto OK con tale utilizzo tranne che per una questione: Utilizzo il JDateChooser per scrivere la data in una casella e farne il relativo get.
Nella mia applicazione utilizzo il tipo di data java.sql.Date e invece il JDateChooser utilizza l'ormai deprecato java.util.Date.
Come ovviare a questo problema?
A me servono le date nel "formato" java.sql.Date e ciò che mi è venuto in mente di fare è un semplice cast (java.sql.Date)controllo.getDate().
Secondo voi questo può dare problemi?
Eventualmente ci sono alternative?
Nella mia applicazione utilizzo il tipo di data java.sql.Date e invece il JDateChooser utilizza l'ormai deprecato java.util.Date.java.util.Date come classe non è "deprecata". Lo sono svariati suoi metodi e costruttori. Al giorno d'oggi, java.util.Date è ancora utile ma principalmente solo per fare da "ponte" tra altre classi (es. tra un Calendar e un DateFormat).
Come ovviare a questo problema?
A me servono le date nel "formato" java.sql.Date e ciò che mi è venuto in mente di fare è un semplice cast (java.sql.Date)controllo.getDate().Se noti java.sql.Date di fatto è-un java.util.Date.
Quindi dove ti serve un java.util.Date, puoi passare direttamente un java.sql.Date (è un up-cast, no problem).
Il contrario è anche semplice e non passa attraverso un cast (l'oggetto in sé non lo puoi cambiare....). Semplicemente basta fare:
java.sql.Date d = new java.sql.Date (unDate.getTime ());
dove unDate è un java.util.Date.
fbcyborg
01-10-2007, 17:46
OK, ma io devo passare ad un altro metodo un java.sql.date...
se gli passo il risultato di un getTime, non mi sembra sia la stessa cosa di passargli un oggetto della classe java.sql.Date. Io devo passargli tale oggetto.
OK, ma io devo passare ad un altro metodo un java.sql.date...
se gli passo il risultato di un getTime, non mi sembra sia la stessa cosa di passargli un oggetto della classe java.sql.Date. Io devo passargli tale oggetto.Sono sempre più convinto che la gente non legge (o legge male) i miei post (come una mia domanda dell'altro giorno a cui nessuno mi ha risposto finora)..... :sob:
new java.sql.Date (unDate.getTime ())
^^^^^^^^^^^^^^^^^
fbcyborg
01-10-2007, 19:45
Sono sempre più convinto che la gente non legge (o legge male) i miei post (come una mia domanda dell'altro giorno a cui nessuno mi ha risposto finora)..... :sob:
new java.sql.Date (unDate.getTime ())
^^^^^^^^^^^^^^^^^
mmh.. la risposta è dentro la domanda... perché non si capisce..
anyway...
ho provato a fare come dici te, ma NON POSSO FARE COSI'.
getTime() restituisce il numero di millisecondi ecc...
IO ho bisogno di passare ad un mio controller, un oggetto della classe java.sql.Date e non un risultato di getTime(). ok?
Ora, a meno di effettuare conversioni apposite, se non erro il tipo "long" è dierso dalla classe "Date" del package java.util.
ho provato a fare come dici te, ma NON POSSO FARE COSI'.
getTime() restituisce il numero di millisecondi ecc...
IO ho bisogno di passare ad un mio controller, un oggetto della classe java.sql.Date e non un risultato di getTime(). ok?Ma non vedi che il long ottenuto con getTime() viene usato per creare un java.sql.Date?????
fbcyborg
01-10-2007, 19:53
Ma non vedi che il long ottenuto con getTime() viene usato per creare un java.sql.Date?????
Sì, ora lo vedo... cercherò di adattare la cosa al mio caso...
Grazie!!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.