Originariamente inviato da imband
devo confrontare le due date, in modo da verificare che in "data" la data sia quella di oggi e che l'ora sia minore o uguale a quella attuale.
qualcuno può darmi una mano??
Io farei così:
codice:
Calendar dataAtt = new GregorianCalendar ();
Calendar dataAttIniz = (Calendar) dataAtt.clone ();
dataAttIniz.set (Calendar.HOUR_OF_DAY, 0);
dataAttIniz.set (Calendar.MINUTE, 0);
dataAttIniz.set (Calendar.SECOND, 0);
dataAttIniz.set (Calendar.MILLISECOND, 0);
Calendar data = new GregorianCalendar ();
data.setTime (c.getData());
if (data.compareTo (dataAttIniz) >= 0 && data.compareTo (dataAtt) <= 0)
System.out.println ("ora di oggi con ora inferiore");
In pratica dataAtt è la data attuale esatta mentre dataAttIniz è la data attuale ma con l'ora azzerata (0:00:00). Se 'data' è nel range di queste due date, allora sei nel giorno attuale ma con l'ora inferiore/uguale.
Nota: compareTo di Calendar c'è solo da Java 5 in poi.