Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [java]GregorianCalendar : orario non corretto

    Sto facendo un progetto dove ci sono veicoli che si muovono nella mappa e ho la necessità di misurare il tempo.
    Su Javadoc ho trovato Time che però ha tutti i metodi deprecati, anche Calendar ha i metodi deprecati, e allora sto usando GregorianCalendar che eredita da Calendar.
    Ho ereditato da GregorianCalendar per fare una classe aggiungendoci però il metodo toString per ottenere direttamente una stringa che descrive la data, con i mesi in italiano.
    Il problema è che get(HOUR_OF_DAY) non so perchè mi ritorna sempre 6

    codice:
        package TruckingCompany;
    
        import java.util.GregorianCalendar;
    
        @SuppressWarnings("serial")
        public class TCCalendar extends GregorianCalendar
        {
       	@Override
    	public String toString()
    	{
    		String str=new String();
    		switch(get(DAY_OF_WEEK))
    		{
    		    case 1: 
    		    	str+="Domenica "; 
    		    	break;
    		    case 2:
    		    	str+="Lunedì ";
    		    	break;
    		    case 3:
    		    	str+="Martedì ";
    		    	break;
    		    case 4:
    		    	str+="Mercoledì ";
    		    	break;
    		    case 5:
    		    	str+="Giovedì ";
    		    	break;
    		    case 6:
    		    	str+="Venerdì ";
    		    	break;
    		    case 7:
    		    	str+="Sabato ";
    		    	break;
    		}
    		str+=get(DAY_OF_MONTH);
    		switch(get(MONTH))
    		{
    		    case 0:
    		    	str+=" Gennaio ";
    		    	break;
    		    case 1:
    		    	str+=" Febbraio ";
    		    	break;
    		    case 2:
    		    	str+=" Marzo ";
    		    	break;
    		    case 3:
    		    	str+=" Aprile ";
    		    	break;
    		    case 4:
    		    	str+=" Maggio ";
    		    	break;
    		    case 5:
    		    	str+=" Giungo ";
    		    	break;
    		    case 6:
    		    	str+=" Luglio ";
    		    	break;
    		    case 7:
    		    	str+=" Agosto ";
    		    	break;
    		    case 8:
    		    	str+=" Settembre ";
    		    	break;
    		    case 9:
    		    	str+=" Ottobre ";
    		    	break;
    		    case 10:
    		    	str+=" Novembre ";
    		    	break;
    		    case 11:
    		    	str+=" Dicembre ";
    		    	break;
    		}
    		str+=get(YEAR)+" ";
    		str+=get(HOUR_OF_DAY);
    		return str;
    	}
        }
    Quindi se provo a istanziare questa classe mi stampa:
    Venerdì 2 Marzo 2012 6
    Non dovrebbe stampare l' ora ? Ho provato a stamparla alle 3.58 e mi stampa sempre 6.
    Non cambia mai l' ora insomma.
    Volevo sapere se sapete il perchè, e se secondo voi è la classe più conveniente da usare, ne conoscete qualche altra più comoda da usare? A me quello che interessa non è solo stampare la data, ma anche gestire i tempi, quindi fare la differenza tra due date,ecc...

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa non puoi lavorare coi millisecondi e Date? API

    oltretutto l'istante corrente lo ottieni con
    codice:
    System.currentTimeMillis();
    che ritorna il tempo in millisecondi (utile per i confronti)
    RTFM Read That F*** Manual!!!

  3. #3
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Non lo so ... ha una marea di metodi deprecati

  4. #4
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Comunque il tempo lo devo far scorrere in maniera arbitraria, è una specie di simulatore che fa le consegne con i furgoni.
    Ma non è sincronizzato con un orologio vero.
    O meglio, la data iniziale si, però poi si può "andare nel futuro".

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Originariamente inviato da ramy89
    Comunque il tempo lo devo far scorrere in maniera arbitraria, è una specie di simulatore che fa le consegne con i furgoni.
    Ma non è sincronizzato con un orologio vero.
    O meglio, la data iniziale si, però poi si può "andare nel futuro".
    non ha importanza: stai reinventando la ruota, e la stai facendo quadrata. Usa i metodi delle classi standard: c'è ben più di quello che ti serve.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    senza usare metodi deprecati ti assicuro che hai tutto ciò che a te interessa
    RTFM Read That F*** Manual!!!

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.