Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    127

    recuperare da Date l'ora 00:00 di un dato giorno

    ciao,

    ho una classe che mi restituisce un oggetto di tipo java.util.Date di un dato giorno dell'anno.

    se faccio da quest'oggetto getTime() mi restituisce il numero di secondi da gennaio del 1970, e questo mi sta bene, ma io vorrei che i secondi si fermassero alle ore 0 h: 00m :00s di quel giorno, invece getTime mi restituisce i secondi di quel dato giorno sommati all'ora corrente....

    in pratica io per avere i secondi di un dato giorno dell'anno dal 1970 dovrei fare getTime() e poi sottrarre l'ora corrente esatto ?

    c'è un metodo meno spartano e più preciso per fare sta cosa ??

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Allora, precisiamo.
    Hai una classe che restituisce un Date. Bene... se questa classe dovesse restituire un oggetto Date che rappresenta solo il giorno e facesse le cose per bene, quell'oggetto Date rappresenterebbe già una data con ora, minuti, secondi e millesimi impostati a 0.

    in pratica io per avere i secondi di un dato giorno dell'anno dal 1970 dovrei fare getTime() e poi sottrarre l'ora corrente esatto ?


    Per avere i secondi di un dato giorno devi prendere il getTime() del relativo oggetto Date e sottrarci il valore di getTime() dello stesso giorno, impostato alle ore 00:00:00.000.

    Se tu hai già a disposizione la data, in termini di Anno, Mese e Giorno, per ottenere un oggetto Date che sia posizionato alle ore 00:00:00.000 è sufficiente usare un GregorianCalendar:

    codice:
    GregorianCalendar gc = new GregorianCalendar(anno, mese-1, giorno);
    Date miaData = gc.getTime();
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    127
    Originariamente inviato da LeleFT
    Allora, precisiamo.
    Hai una classe che restituisce un Date. Bene... se questa classe dovesse restituire un oggetto Date che rappresenta solo il giorno e facesse le cose per bene, quell'oggetto Date rappresenterebbe già una data con ora, minuti, secondi e millesimi impostati a 0.
    si vede che non fa le cose per bene perchè

    mydate.getTime() dove mydate è un Date che rappresenta un giorno in particolare, lanciato in momenti diversi , dà due tempi differenti, sintomo che il Date è collegato all'ora attuale.

    se da DAte posso estrapolarmi giorno mese e anno, potrei costruire il gregorianCalendar, ma vedo che questi metodi sono deprecati... dovrei utilizzare un calendar di appoggio dove faccio setTime(Date ) e poi mi prendo giorno mese ed anno è corretto ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.