Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 38
  1. #21
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    scusa in java.sql.time c'è solo l'ora mentre java.util.date include anche la data. Quindi al metodo di cui sopra posso passare direttamente l'oggetto java.sql.time?
    Sì scusa, è vero (!), mi stavo dimenticando che java.sql.Time ha solo l'ora e il senso della data è riferito alla "zero epoch", ovvero come se fosse l'ora al 1-gen-1970.

    Ti serve chiaramente anche una data (es. java.util.Date) a cui sommi i millisecondi del Time.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #22
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Quindi dovrei creare la data odierna con ore minuti e secondi impostati a 0 e sommargli i millisecondi dell'oggetto java.sql.time?
    no ma c'è qualcosa che non mi torna , anche il metodo get time fa riferimento alla zeroepoch!
    Ultima modifica di linux_r; 11-04-2014 a 12:57

  3. #23
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Quindi dovrei creare la data odierna con ore minuti e secondi impostati a 0 e sommargli i millisecondi dell'oggetto java.sql.time?
    no ma c'è qualcosa che non mi torna , anche il metodo get time fa riferimento alla zeroepoch!
    java.util.Date (che rappresenta gg/mm/aaaa 00:00:00) ----> millisecondi + millisecondi di java.sql.Time ----> set in Date o new Date.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #24
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    ma se uso il metodo getTime , di java.sql.Time , dice che fa sempre riferimento alla zero epoch, inoltre quando creo un nuovo oggetto Date, esso utilizza data e ora correnti , quindi non 00:00:00. grazie dell'aiuto naturalmente

  5. #25
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    ma se uso il metodo getTime , di java.sql.Time , dice che fa sempre riferimento alla zero epoch
    Con il long dei millisecondi è vero che 0 è tecnicamente 1 gennaio 1970 0:00:00 (GMT) ma in questo caso, con java.sql.Time, non importa .... sono millisecondi "in un qualunque giorno", in pratica ignorando il giorno. Stop. Questo serve.

    Quote Originariamente inviata da linux_r Visualizza il messaggio
    inoltre quando creo un nuovo oggetto Date, esso utilizza data e ora correnti , quindi non 00:00:00.
    Io non ho detto di partire con un new Date() .... ho detto di partire da un Date che "rappresenta gg/mm/aaaa 00:00:00" e questo ad esempio lo ottieni partendo da un GregorianCalendar, poi prendendo o il Date o direttamente i millisecondi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #26
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    ah ok !! ti ringrazio tantissimo !!

  7. #27
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Questo è il codice, funziona tutto solo che l'appuntamento risulta un ora in meno, ad esempio se è alle 10:30, risulta alle 9:30. Ho visualizzato anche l'oggetto time, l'ho stampato e stampa le 10:30.
    codice:
     TaskAppuntamento task=new TaskAppuntamento(cliente);
            Calendar calendario=Calendar.getInstance(Locale.ITALY);
            calendario.set(Calendar.HOUR, 0);
            calendario.set(Calendar.MINUTE, 0);
            calendario.set(Calendar.SECOND, 0);
            java.util.Date data=new java.util.Date(calendario.getTimeInMillis()+
                    appuntamento.getTime());
            this.scheduler.schedule(task, data);
            System.out.println(calendario.toString());
            System.out.println(appuntamento.toString());
            System.out.println(data.toString());

    Ecco gli output


    codice:
    java.util.GregorianCalendar[time=1397685600795,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2014,MONTH=3,WEEK_OF_YEAR=16,WEEK_OF_MONTH=3,DAY_OF_MONTH=17,DAY_OF_YEAR=107,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=795,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
    10:30:00
    Thu Apr 17 09:30:00 CEST 2014
    Ultima modifica di LeleFT; 17-04-2014 a 12:41

  8. #28
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Questo è il codice, funziona tutto solo che l'appuntamento risulta un ora in meno, ad esempio se è alle 10:30, risulta alle 9:30. Ho visualizzato anche l'oggetto time, l'ho stampato e stampa le 10:30.
    Già, vero ... ma è perchè nell'oggetto Time i millisecondi sono nel fuso orario GMT (in generale i millisecondi dalla "epoch" sono sempre in GMT .... non in un qualche fuso locale, es. italiano).

    Comunque si risolve abbastanza facilmente:

    codice:
    public static void setTimeToCalendar(Calendar calendar, Time time) {
        Calendar timeCal = (Calendar) calendar.clone();
        timeCal.setTime(time);
    
        calendar.set(Calendar.HOUR, timeCal.get(Calendar.HOUR));
        calendar.set(Calendar.MINUTE, timeCal.get(Calendar.MINUTE));
        calendar.set(Calendar.SECOND, timeCal.get(Calendar.SECOND));
        calendar.set(Calendar.MILLISECOND, timeCal.get(Calendar.MILLISECOND));
    }
    Poi nel tuo caso:

    codice:
    Calendar calendario = Calendar.getInstance(Locale.ITALY);
    setTimeToCalendar(calendario, appuntamento);
    // qui calendario ha l'ora dell'appuntamento
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #29
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Ok grazie. Comunque ritornando alla classe Timer ho il seguente problema inserisco nel timer due Task , uno impostato alle ore 10, e l'altro alle 18. Il problema è che non so perchè si avvia il thread delle ore 18. Supponiamo che adesso 11:20 , inserisco questi due task quello che succede e che si avvia il task che dovrebbe avviarsi alle 18, mentre se imposto anche il primo task alle ore 11:30, ad esempio cioè facendo si che non sia passato il suo tempo allora tutto ok. Mi sapresti aiutare?

  10. #30
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Ok grazie. Comunque ritornando alla classe Timer ho il seguente problema inserisco nel timer due Task , uno impostato alle ore 10, e l'altro alle 18. Il problema è che non so perchè si avvia il thread delle ore 18. Supponiamo che adesso 11:20 , inserisco questi due task quello che succede e che si avvia il task che dovrebbe avviarsi alle 18, mentre se imposto anche il primo task alle ore 11:30, ad esempio cioè facendo si che non sia passato il suo tempo allora tutto ok. Mi sapresti aiutare?
    Il Timer, quando usi il suo schedule(TimerTask task, Date time), schedula e ordina i task in base al Date ..... se i Date sono corretti non vedo come possa "sballare" l'ordinamento o fare altre cose strane.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.