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…
[quote=“le-silva”]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…[/quote]
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?
[quote=“Thiago008”]
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?[/quote]
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?
[quote=“Thiago008”]
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?[/quote]
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 …
[quote=“Vegetto”][quote=“Thiago008”]
ele me retorna oque?
vou ter q fazer um parser dessa string: 25/02/2004 pra pegar só o 3º e 4º caracter?[/quote]
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?[/quote]
sou eu mesmo cara rs…
e ja consegui fazer oq queria, valeu galera !
simples assim:
cal.add(Calendar.MONTH, -6);
rs… abraços.
[code]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;
}
}[/code]
Tem um pequeno BUG, mas vc vai saber quando utilizar.
Abraços
[quote=“danieldestro”][code]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;
}
}[/code]
Tem um pequeno BUG, mas vc vai saber quando utilizar.
Abraços[/quote]
valeu cara, obrigado pela atencao
[quote=danieldestro][code]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;
}
}[/code]
Tem um pequeno BUG, mas vc vai saber quando utilizar.
Abraços[/quote]
Será que vc já conseguiu resolver esse bug prezado Daniel???