Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 38 su 38
  1. #31
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    i date sono corretti li visualizzo prima di inserirli !! Pero se inserisco un date precedente alla data e all'ora attuali mi avvia il date successivo

  2. #32
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Quote Originariamente inviata da andbin Visualizza il messaggio
    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
    Non ho capito bene cosa avviene nel primo metodo, ovvero cosa gli dovrei passare.
    In particolare le prime due istruzioni

  3. #33
    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
    se inserisco un date precedente alla data e all'ora attuali mi avvia il date successivo
    L'unica cosa certa e nota è che se scheduli un task ad un Date che è già "passato", quel task viene eseguito subito.

    Dal javadoc di schedule(TimerTask task, Date time):
    "If the time is in the past, the task is scheduled for immediate execution."

    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Non ho capito bene cosa avviene nel primo metodo, ovvero cosa gli dovrei passare.
    In particolare le prime due istruzioni
    Scusa ma ho anche fatto l'esempio d'uso!
    Passi a setTimeToCalendar un Calendar che ha la data che vuoi (l'ora è ininfluente), es. la data corrente e passi un Time (che ha solo l'ora). setTimeToCalendar "fonde" insieme data e ora in quello stesso oggetto Calendar passato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #34
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    ah ok grazieee.. però non ho capito come risolvi il problema gmt

  5. #35
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    cioeè perchè utilizzi clone .. e come risolvi il problema dell'ora
    Ultima modifica di linux_r; 18-04-2014 a 12:45

  6. #36
    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
    cioeè perchè utilizzi clone .. e come risolvi il problema dell'ora
    Ho "clonato" il Calendar passato al metodo per: 1) poterlo "sporcare" con il Time e 2) per avere lo stesso TimeZone del Calendar originale in modo che poi i campi dell'orario risultino coerenti con il fuso orario del Calendar originale, insomma come ti aspettavi da fuori del metodo.

    Nel timeCal dopo il setTime, la data è qualcosa del tipo 1 Gennaio 1970 HH:MM:SS.mmm dove HH:MM:SS.mm arriva dal Time mentre la parte data è concettualmente "zero" rispetto alla "epoch", ovvero appunto 1 Gennaio 1970. Ma la data non interessa nel timeCal. Infatti poi copio nel Calendar originale solo l'orario (fino al millisecondo) e non la data.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #37
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    volevo chiederti se c'era un modo per confrontare due date del tipo java.util.Date, con la differenza che l'orario della seconda ha il formato delle 24 ore . Questo perchè deriva dalla fusione del calendar con java.sql.time

  8. #38
    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
    volevo chiederti se c'era un modo per confrontare due date del tipo java.util.Date, con la differenza che l'orario della seconda ha il formato delle 24 ore .
    Date non ha un "formato" .... contiene solo un long con i millisecondi. Due Date possono essere confrontati con il classico equals() ma anche con i metodi after/before/compareTo.

    Quindi precisa meglio la tua richiesta/necessità.
    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.