alguem sabe como pegar os ultimos 6 meses referente ao mes atual em java?
preciso de um metodo q faça isso…
se puderem me ajudar… abraços…
alguem sabe como pegar os ultimos 6 meses referente ao mes atual em java?
preciso de um metodo q faça isso…
se puderem me ajudar… abraços…
Exemplo…
Calendar dia25 = Calendar.getInstance(); // 25/03/2004
dia25.add(Calendar.MONTH, -1); // 25/02/2004
dia25.add(Calendar.MONTH, -1); // 25/01/2004
dia25.add(Calendar.MONTH, -1); // 25/12/2004
dia25.add(Calendar.MONTH, -1); // 25/11/2004
dia25.add(Calendar.MONTH, -1); // 25/10/2004
Pegô? Abstrai…
Exemplo…Calendar dia25 =
Calendar.getInstance(); // 25/03/2004
dia25.add(Calendar.MONTH, -1); // 25/02/2004
dia25.add(Calendar.MONTH, -1); // 25/01/2004
dia25.add(Calendar.MONTH, -1); // 25/12/2004
dia25.add(Calendar.MONTH, -1); // 25/11/2004
dia25.add(Calendar.MONTH, -1); // 25/10/2004Pegô? Abstrai…
valeu cara pela atenção… mas vamos ver se captei.
se eu mandar printar:
dia25.add(Calendar.MONTH, -1);
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?
valeu
ps: te mandei um mail, mas voltou. ta funfando esse q ta no seu perfil?
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?
Olá amigo,
Dê uma olhada:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
você pode fazer o seguinte:
int mes = calendar.get(GregorianCalendar.MONTH);
ps: você é amigo do Fezo?
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?
dia25.add(Calendar.MONTH,-1)
Pra retornar o mes
dia25.get(Calendar.MONTH) // se eu nao me engano, o mes comeca a partir de 0 ( zero ) . Exemplo: Janeiro=0, Fev = 1 …
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?Olá amigo,
Dê uma olhada:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
você pode fazer o seguinte:
int mes = calendar.get(GregorianCalendar.MONTH);ps: você é amigo do Fezo?
sou eu mesmo cara rs…
e ja consegui fazer oq queria, valeu galera !
simples assim:
cal.add(Calendar.MONTH, -6);
rs… abraços.
import java.util.*;
public class Test {
public static void main(String[] args) {
int[] m = pegarUltimosNMeses( new Date(), Integer.parseInt(args[0]) );
for( int i=0; i<m.length; i++ ) {
System.out.println(m[i]);
}
}
/**
* Retorna um array de int com o número correspondente dos últimos N
* meses solicitados, sem incluir o mês atual.
*/
public static int[] pegarUltimosNMeses( Date hoje, int n ) {
int[] meses = new int[n];
int ultimoMesAno = 12;
Calendar calendar = new GregorianCalendar();
calendar.setTime( hoje );
//adiciono 1 pois os meses são representados de 0 a 11
int mesAtual = calendar.get(Calendar.MONTH) + 1;
for(int i=n; i>0; i--) {
meses[i-1] = mesAtual - i;
if( meses[i-1] < 1 ) {
meses[i-1] = ultimoMesAno + meses[i-1];
}
}
return meses;
}
}
Tem um pequeno BUG, mas vc vai saber quando utilizar.
Abraços
import java.util.*; public class Test { public static void main(String[] args) { int[] m = pegarUltimosNMeses( new Date(), Integer.parseInt(args[0]) ); for( int i=0; i<m.length; i++ ) { System.out.println(m[i]); } } /** * Retorna um array de int com o número correspondente dos últimos N * meses solicitados, sem incluir o mês atual. */ public static int[] pegarUltimosNMeses( Date hoje, int n ) { int[] meses = new int[n]; int ultimoMesAno = 12; Calendar calendar = new GregorianCalendar(); calendar.setTime( hoje ); //adiciono 1 pois os meses são representados de 0 a 11 int mesAtual = calendar.get(Calendar.MONTH) + 1; for(int i=n; i>0; i--) { meses[i-1] = mesAtual - i; if( meses[i-1] < 1 ) { meses[i-1] = ultimoMesAno + meses[i-1]; } } return meses; } }Tem um pequeno BUG, mas vc vai saber quando utilizar.
Abraços
valeu cara, obrigado pela atencao
import java.util.*; public class Test { public static void main(String[] args) { int[] m = pegarUltimosNMeses( new Date(), Integer.parseInt(args[0]) ); for( int i=0; i<m.length; i++ ) { System.out.println(m[i]); } } /** * Retorna um array de int com o número correspondente dos últimos N * meses solicitados, sem incluir o mês atual. */ public static int[] pegarUltimosNMeses( Date hoje, int n ) { int[] meses = new int[n]; int ultimoMesAno = 12; Calendar calendar = new GregorianCalendar(); calendar.setTime( hoje ); //adiciono 1 pois os meses são representados de 0 a 11 int mesAtual = calendar.get(Calendar.MONTH) + 1; for(int i=n; i>0; i--) { meses[i-1] = mesAtual - i; if( meses[i-1] < 1 ) { meses[i-1] = ultimoMesAno + meses[i-1]; } } return meses; } }Tem um pequeno BUG, mas vc vai saber quando utilizar.
Abraços
Será que vc já conseguiu resolver esse bug prezado Daniel????
:D