Galera… tenho um objeto do tipo Date.
Gostaria de saber como faço pra setar este objeto para o primeiro ou último dia do mês.
Ex:
08/04/2005 tem que se transformar em 30/04/2005
08/04/2005 tem que se transformar em 01/04/2005

Galera… tenho um objeto do tipo Date.
Gostaria de saber como faço pra setar este objeto para o primeiro ou último dia do mês.
Ex:
08/04/2005 tem que se transformar em 30/04/2005
08/04/2005 tem que se transformar em 01/04/2005

Use a classe GregorianCalendar:
import java.util.*;
...
// Meses vao de 0 a 11.. Logo, abril eh 3
Calendar c = new GregorianCalendar(2004, 3, 8);
System.out.println("Primeiro dia do mes: " + c.getMinimum(DAY_OF_MONTH));
System.out.println("Ultimo dia do mes: " + c.getMaxium(DAY_OF_MONTH));
Para a relacao completa de valores possiveis e metodos, veja o javadoc:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html
Rafael
Demorei mais achei....
import java.util.*;
Calendar cal = new GregorianCalendar(2005, 3, 8);
cal.getMinimum(DAY_OF_MONTH); //Retorna o primeiro dia
cal.getMaximum(DAY_OF_MONTH)); //Retorna o último dia
Lembre-se que os meses começam pelo 0, entaum Janeiro = 0.. Abril = 3..Dezembro = 11
flw cara.
Use a classe GregorianCalendar:import java.util.*; ... // Meses vao de 0 a 11.. Logo, abril eh 3 Calendar c = new GregorianCalendar(2004, 3, 8); System.out.println("Primeiro dia do mes: " + c.getMinimum(DAY_OF_MONTH)); System.out.println("Ultimo dia do mes: " + c.getMaxium(DAY_OF_MONTH));Para a relacao completa de valores possiveis e metodos, veja o javadoc:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.htmlRafael
[color=blue]Tá dando “pau” … sou novato em java
[/color]
tah errado um ali
tah assim c.getMaxium é assim c.getMaximum
System.out.println("Ultimo dia do mes: " + c.getMaximum(DAY_OF_MONTH));
tah errado um alitah assim c.getMaxium é assim c.getMaximum
System.out.println("Ultimo dia do mes: " + c.getMaximum(DAY_OF_MONTH));
Também dá pau… eu já tinha notado este erro…
eu sou novato em java, mas né assim naum:
c.getMaxium(GregorianCalendar.DAY_OF_MONTH);
Mas desse jeito de cima também da erro… NÃO SEI MAIS O Q FAÇO
coloca todo teu código aki.
Pessoal, fiz assim, para o exemplo do mês atual ser fevereiro:
Calendar cal = new GregorianCalendar();
Date agora;
cal.setTime(agora);
out.print(cal.getMinimum(GregorianCalendar.DAY_OF_MONTH)); // Retorna 1 - Tá correto
out.print(cal.getMaximum(GregorianCalendar.DAY_OF_MONTH)); // retorna 31 - Tá errado, pois fevereiro tem q retornar 28
O setTime() ta errado. Vc tem que iniciar a instancia “agora”, senao nenhuma data eh setada. De qualquer maneira
Date agora = new Date()
vai retornar a data atual. Para forcar o mes para fevereiro, passe a data no construtor, como mostrado nos exemplos:
// Inicia o calendario para 3/02/2005
Calendar cal = new GregorianCalendar(2005, 1, 3);
Rafael
Galera… desculpa incomodar vcs aew, mas meu código completa segue abaixo e continua errado. Se fosse em delphi, eu fazia isso em um piscar de olhos… … 
DataHoraBoleto teste = new DataHoraBoleto();
Calendar cal = new GregorianCalendar(2005, 1, 3);
Date agora = new Date();
out.print(cal.getMinimum(GregorianCalendar.DAY_OF_MONTH)); // Saí 1 - Tá correto
out.print(cal.getMaximum(GregorianCalendar.DAY_OF_MONTH)); // Saí 31 - Tá errado. era pra sair 28
:arrow: E agora?
eu acho q vc ta esquecendo de importar a classe…
logo no inicio do seu arquivo coloque:
import java.util.*;
c vc n colocar isso n vai funciona nunca, v c eh isso ai 
Cara, os exemplos estao errados. Voce tem que usar na verdade o getActualMinimum() e getActualMaximum(). O teu codigo fica assim:
Calendar cal = new GregorianCalendar(2005, 1, 3);
out.print(cal.getActualMinimum(Calendar.DAY_OF_MONTH));
out.print(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Rafael
Tenta isso, com certeza vai funcionar …
/**
* @return último dia do mês atual
*/
public int ultimoDiaMesAtual(){
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
int ultimoDia = cal.get(Calendar.DAY_OF_MONTH);
return ultimoDia;
}
[color=blue] [/color]
se vc quer pegar o primeiro e o ultimo dia do mes corrente vc faz assim :
import java.util.Calendar;
import java.util.GregorianCalendar;
.
.
.
Calendar c = new GregorianCalendar();
System.out.println("Primeiro dia do mes: " + c.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println("Ultimo dia do mes: " + c.getActualMaximum(Calendar.DAY_OF_MONTH));
Não era pra retornar da data completa ao inves de só apenas primeiro e último dia do mês?
Cara, por que reviver tópicos antigos?
Prestou atenção? Este é de 2005 e a última resposta, antes da tua, é de 2008…
Se for o caso de retornar o primeiro e último dia, mas com a data completa, um jeito é fazer assim:
//instancia um Calendar com a data atual. Hoje, por exemplo, retornaria 31/10/2012, no formato Calendar, claro.
Calendar cal = Calendar.getInstance();
//Já que eu já tenho a data atual e quero pegar o menor e maior dia, vou manipular apenas o dia da instância gerada.
cal.set(Calencar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
//Imprime a data formatada para dd/mm/aaaa
System.out.println (new SimpleDateFormat("dd/MM/yyyy").format(cal.getTime()));
Para pegar a data final, é só substituir o getActualMinimum por getActualMaximum.
Cara, por que reviver tópicos antigos?
Prestou atenção? Este é de 2005 e a última resposta, antes da tua, é de 2008…
Cara… pq, para o meu entendimento, a pergunta não foi respondida.
Se alguem estivesse procurando uma maneira de pegar a data completa, iria ter que abrir outro tópico. =P
Cara, por que reviver tópicos antigos?
Prestou atenção? Este é de 2005 e a última resposta, antes da tua, é de 2008…
Cara… pq, para o meu entendimento, a pergunta não foi respondida.
Se alguem estivesse procurando uma maneira de pegar a data completa, iria ter que abrir outro tópico. =P
Melhor abrir um novo tópico que ficar respondendo coisas extremamente antigas.
Ou vai responder a todos os tópicos que não possuem um [RESOLVIDO], independente de quando foram abertos?
Cara.
Relaxa. Eu encontrei isso ao acaso e achei que seria interessante deixar uma solução.
Simples assim.
Cara.
Relaxa. Eu encontrei isso ao acaso e achei que seria interessante deixa uma solução.
Simples assim.
Cara.
Relaxa. Eu encontrei isso ao acaso e achei que seria interessante deixa uma solução.
Simples assim.
Cara, valeu. É broxante quando está procurando algo, chega no final e vê que não foi resolvido. Mesmo sendo antigo, agora quem procurar não vai precisar chegar no final do tópico, ver que não foi resolvido, e abrir outro e esperar que respondam.
Caramba. Obrigado. Vc estava com essa duvida?
Abs
Cara.
Relaxa. Eu encontrei isso ao acaso e achei que seria interessante deixa uma solução.
Simples assim.
Cara, valeu. É broxante quando está procurando algo, chega no final e vê que não foi resolvido. Mesmo sendo antigo, agora quem procurar não vai precisar chegar no final do tópico, ver que não foi resolvido, e abrir outro e esperar que respondam.Caramba. Obrigado. Vc estava com essa duvida?
Abs
Caraaca.
Maneiro! Fico mt feliz em saber.
Obrigado pelo feedback 
ops. msg acidental.
Caraaca.
Maneiro! Fico mt feliz em saber.
Obrigado pelo feedback![]()
Obrigado.