Newsgroup: it.comp.java
Titolo: Come ottenere ora del sistema?

Esiste qualche classe facente parte delle api che permette di prendere l'ora 
del sistema?
Cioč richiamo un metodo della classe supposta e ottengo l'ora in cui ho 
invocato il metodo che ne so 19:21:38.
Grazie, arrivederci. 

 ha scritto nel messaggio
news:XQm_c.253418$5D1.11...@news4.tin.it...


 l'api
No, non esiste nella libreria standard il tipo Time. Date rappresenta 
sia la data che l'ora.
La distinzione viene fatta solo all'interno del package java.sql dove 
esistono 3 classi:
java.sql.Date: rappresenta solo la data
java.sql.Time: solo l'orario
java.sql.Timestamp: data + ora
Tutte e tre estendono la classe java.util.Date
Però queste classi sono specifiche per l'utilizzo con JDBC e non penso 
che sia il caso di utilizzarle in altri contesti.
Andrea Polci

 invocato il metodo che ne so 19:21:38.
import java.util.*;
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
System.out.println("Giorno : " + cal.DATE);
System.out.println("Mese : " + cal.MONTH);
System.out.println("Anno : " + cal.YEAR);
(
http://java.sun.com/j2se/1.4.2/docs/api/index.html
)
La classe Calendar è una classe astratta, della quale si ottiene una
istanza con il metodo getInstance().
Tra i metodi di Calendar c'è setTime(), che prende come parametro un
oggetto Date().
Una volta impostata la data di riferimento, si può accedere ad una serie
di campi, tra cui YEAR, MONTH, DATE, HOUR_OF_DAY, MINUTE, SECOND.
Spero di esserti stato utile
Raffaele

 ha scritto nel messaggio 
news:pan.2004.09.05....@yahoo.it...

Sto provando un pò utilizzando il metodo set della classe Calendar, 
inserisco un'ora la faccio stampare ma stampa tutt'altra cosa, non c'è un 
modo più semplice per leggere l'orologio del sistema?
In c++ mi sembra ci sia qualcosa del genere, in java no?
Grazie. 



Per provare fai così:
Calendar cal = Calendar.getInstance();
Date data = new Date();
cal.setTime(data);
System.out.println(data);
System.out.println(cal.DAY + " " + cal.MONTH + " " + cal.YEAR + " " +
cal.HOUR_OF_DAY + " " + cal.MINUTE + " " + cal.SECOND);
E vedi se il risultato è lo stesso.
Dovrebbe funzionare...strano che ti dia problemi...
Raffaele


Sono riuscito nell'intento grazie!
Ho utilizzato la classe Date contenuto nel package java.util. Ho istanziato 
un oggetto date e l'ho stampato e fa esattamente quello che mi interessava, 
stampa giono mese anno ore minuti e secondi del momento in cui viene 
invocato.
Grazie ancora.
Ciao Ciao. 

 invocato.
Se poi non dovesse piacerti il formato usato dal toString() di 
java.util.Date esite SimpleDateFormat
http://java.sun.com/docs/books/tutorial/i18n/format/simpleDateFormat.html
Marco

 invocato.
Il problema è che usando Date non puoi ottenere singolarmente i singoli
valori (giorno mese anno, ora, etc...) perchè i metodi relativi sono
deprecati, mentre con il metodo che ti ho indicato puoi ottenerli
abbastanza facilmente.
Saluti!
Raffaele

 ha scritto nel messaggio 
news:pan.2004.09.05....@yahoo.it...

Si ho notato grazie. Per quel che volevo fare va benissimo quello che fa la 
classe Date.
Grazie ancora. 

 (
http://java.sun.com/j2se/1.4.2/docs/api/index.html
)
Mi sa che hai frainteso la documentazione del Calendar. DATE, MONTH e
YEAR rappresentano si i campi del giorno, mese e anno, ma non il loro
valore!
Per avere i valori devi fare:
  System.out.println("Giorno : " + cal.get(Calendar.DATE));
  System.out.println("Mese : " + cal.get(Calendar.MONTH));
  System.out.println("Anno : " + cal.get(Calendar.YEAR));
Da notare che è preferibile scrivere "Calendar.DATE" anziché
"cal.DATE" in quanto sono elementi statici.
Tra l'altro la documentazione lo dice chiaramente:
-----------------------------------------------------
public static final int DATE
    Field number for get and set indicating the day of the month. This
is a synonym for DAY_OF_MONTH. The first day of the month has value 1.
-----------------------------------------------------
Quindi DATE (così come MONTH e YEAR) è il numero di un campo e non il
valore di quel campo.
Andrea

 valore!
Più che altro sono andato a memoria, ed ho toppato di brutto...
Grazie per la doverosa precisazione!!!
Raffaele
-- 
Raffaele Castagno
Per mandarmi una mail, rimuovere il SIGILLO.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it