entanglement 6 de jul. de 2012
Você não está interpretando incorretamente os resultados? Vamos mostrar exatamente que add (Calendar.DAY_OF_MONTH, -1) está certo. Só 2 min para o exemplo completo e testado.
entanglement 6 de jul. de 2012
import java.util.* ;
import java.text.* ;
class TesteCalendar {
public static void main ( String [] args ) throws ParseException {
DateFormat df = new SimpleDateFormat ( "dd/MM/yyyy" );
Calendar cal = Calendar . getInstance ();
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . JULY );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DATE , - 1 );
System . out . println ( df . format ( cal . getTime ()));
}
}
O resultado é:
ErickRAR 6 de jul. de 2012
data . add ( Calendar . DAY_OF_YEAR , - 1 );
//ou
data . add ( Calendar . DATE , - 1 );
Luan_Kevin 6 de jul. de 2012
ErickRAR:
data.add(Calendar.DAY_OF_YEAR, -1);
Obrigado!
tinha tentados todos menos esse!
:thumbup:
entanglement 6 de jul. de 2012
DATE é a mesma coisa que DAY_OF_MONTH, aliás. Note que nesse caso em particular as três soluções funcionam.
import java.util.* ;
import java.text.* ;
class TesteCalendar {
public static void main ( String [] args ) throws ParseException {
DateFormat df = new SimpleDateFormat ( "dd/MM/yyyy" );
Calendar cal = Calendar . getInstance ();
System . out . println ( "Calendar.DATE" );
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . JULY );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DATE , - 1 );
System . out . println ( df . format ( cal . getTime ()));
System . out . println ( "Calendar.DAY_OF_MONTH" );
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . MARCH );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DAY_OF_MONTH , - 1 );
System . out . println ( df . format ( cal . getTime ()));
System . out . println ( "Calendar.DAY_OF_YEAR" );
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . JANUARY );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DAY_OF_YEAR , - 1 );
System . out . println ( df . format ( cal . getTime ()));
}
}
Calendar . DATE
01 / 07 / 2012
30 / 06 / 2012
Calendar . DAY_OF_MONTH
01 / 03 / 2012
29 / 02 / 2012
Calendar . DAY_OF_YEAR
01 / 01 / 2012
31 / 12 / 2011
Luan_Kevin 6 de jul. de 2012
entanglement:
DATE é a mesma coisa que DAY_OF_MONTH, aliás. Note que nesse caso em particular as três soluções funcionam.
import java.util.* ;
import java.text.* ;
class TesteCalendar {
public static void main ( String [] args ) throws ParseException {
DateFormat df = new SimpleDateFormat ( "dd/MM/yyyy" );
Calendar cal = Calendar . getInstance ();
System . out . println ( "Calendar.DATE" );
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . JULY );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DATE , - 1 );
System . out . println ( df . format ( cal . getTime ()));
System . out . println ( "Calendar.DAY_OF_MONTH" );
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . MARCH );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DAY_OF_MONTH , - 1 );
System . out . println ( df . format ( cal . getTime ()));
System . out . println ( "Calendar.DAY_OF_YEAR" );
cal . set ( Calendar . DATE , 1 );
cal . set ( Calendar . MONTH , Calendar . JANUARY );
cal . set ( Calendar . YEAR , 2012 );
System . out . println ( df . format ( cal . getTime ()));
cal . add ( Calendar . DAY_OF_YEAR , - 1 );
System . out . println ( df . format ( cal . getTime ()));
}
}
Calendar.DATE
01/07/2012
30/06/2012
Calendar.DAY_OF_MONTH
01/03/2012
29/02/2012
Calendar.DAY_OF_YEAR
01/01/2012
31/12/2011
Obrigado pela atenção! :thumbup: