Newsgroup: it.comp.java
Titolo: GregorianCalendar e Date SQL

Ciao,
ho qualche problema con i calendari e le date:
Voglio assegnare a un oggetto Date (del package java.sql.Date), la data
odierna contenuta in un GregorianCalendar
Come posso fare? 
c'ho provato in tutti i modi.......
Ciao by Vime!

Non credo che si possa fare quello che vuoi fare tu, ma se lo scopo e` semplicemente costruire un'istanza di GregorianCalendar inizializzata alla data odierna basta richiamare il costruttore vuoto :
GregorianCalendar gc = new GregorianCalendar() ;
Ciao, Cris

-- 
Cristian Veronesi - CRPA SpA - Reggio Emilia, Italy
Whatever it is, I'm against it (Groucho Marx)




[un sacco di sciocchezze]




At 14.01 27/01/00 +0100, you wrote:
Scusa, la mia risposta precedente non ha senso, avevo letto male il tuo
messaggio...
Credo che per fare quello che vuoi fare tu si debba fare :
GregorianCalendar gc = new GregorianCalendar() ;
java.sql.Date d = new java.sql.Date(gc.getTimeInMillis());
forse neanche io mi sono spiegato bene:
devo tenere aggiornata una data in un database. Ho cosi' una variabile
"oggi" di tipo java.sql.date che viene inizializzata al valore di quella
contenuta nel db.
Ho pero' la necessita' di incrementare "oggi". 
per far questo setto il calendariogregoriano alla data oggi, col metodo
setTime().
e questo funziona. Poi, incremento di un giorno il calendario con la
funzione add.
a questo punto vorrei mettere la data del calendario in oggi, e quindi
aggiornare il db.
Ma questo non mi riesce.
ti posto il codice:
Calendar cal=new GregorianCalendar();
oggi=LeggiDataSimulazione();
cal.setTime(oggi);    
  //// IncrementaGiorno
   cal.add(cal.DAY_OF_YEAR,1);
 
  //// oggi.setTime(cal.getTimeInMillis());  ///QUESTA NON FUNZIONA!
 
  AggiornaDataSimulazione(oggi);
Grazie per l'aiuto!
Ciao by Vime!

Prova e sappimi dire! ;) Ciao, Cris
anche io non avevo letto bene la risposta; comunque ho provato e non
funziona, in quanto getTimeInMillis() e' protected!!
Non vorrei fare polemica.... ma sto Java mi sta davvero deludendo.
I metodi scontati non esistono...... bisogna sempre arrampicarsi sulle
finestre.
Ciao by Vime!

 Ciao by Vime!
-- 
         \\|//
        ( @ @ )
+----oOO--(_)--OOo----------[Dott. Marco Azzalini]-------------------+
|                                                                    |
|              Consulente Sviluppo Software & Networking             |
|                                                                    |
|  cell:03470846528  -  e-mail: 
marco.a...@libero.it
             |
|  Home Page: 
utenti.tripod.it/Marco_Azzalini
  - Spedia Code: 459755 |
+--------------------------------------------------------------------+
|Legge di Hofstadter:                                                |
|         ci vuole sempre piu' tempo di quanto si pensi,             |
|         anche tenendo conto della Legge di Hofstadter.             |
+--------------------------------------------------------------------+

 finestre.
Sono d'accordo per quanto riguarda la gestione delle date, che trovo veramente troppo macchinosa, soprattutto non si capisce il perche` bisogna usare due classi diverse ma complementari (java.util.Date e java.util.Calendar). Non sono d'accordo in generale: ci sono dei package veramente semplici da usare e ricchi di funzionalita`, come 
java.net
 per esempio. L'altro ieri ho scritto una classe stupidina di esempio che, passato un URL HTTP, memorizza l'output su un file di testo. I miei colleghi per fare la stessa cosa in VB sono diventati matti perche` i componenti forniti dalla Microsoft sono pieni di buchi ; un nostro consulente esterno ci aveva sparato un preventivo di 7 milioni per scrivere un Active/X !!! Io ci ho messo 45'' e ho scritto una decina di righe di codice...
Ciao, Cris


D = new Date((GregorianC.getTime()).toString());
mmm, non funziona. Poi io volevo lavorare solo con java.sql.Date, e
manca quel costruttore.
comunque ho risolto cosi':
private java.sql.Date oggi;
GregorianCalendar cal=new GregorianCalendar();
...................................................
java.util.Date temp=new Date();
temp=cal.getTime();      
oggi.setTime( temp.getTime() );     
E' decisamente un'accrocchio, pero' sembra funzionare.
Se vi viene in mente qualcosa di piu' elegante, fatemelo sapere!! 
Grazie mille per l'aiuto.
Ciao by Vime!

 

-- 


 per fare la stessa cosa in VB sono diventati matti perche` i componenti forniti dalla Microsoft sono 
:-)
a beh, anche VB non mi sta simpatico
Ah, il problema dell'assegnamento mancato di una stringa l'ho risolto:
non era un problema di lunghezza massima, ma alla fine della stringa
veniva concatenato un oggetto, che per colpa di una data errata era
vuoto. Quindi tutto ok. Grazie
Ciao by Vime!