Como se faz para transformar um date em uma string que contenha a data por extenso…
Presciso que a string retornada esteja da seguinte forma
Ex: 24/05/2012 -> aos vinte e quatro dias do mês de maio do ano de dois mil e doze
primeiramente fiz o seguinte método …mas ele me retorna 24 de maio de 2012 e presciso de tudo por extenso…até os números
/**
* Retorna a data passada como parametro por extenso
* @param data
* @return
*/
public String getDataPorExtenso(Date data){
DateFormat dfmt = new SimpleDateFormat("d 'de' MMMM 'de' yyyy");
return dfmt.format(data);
}
amigo através do código abaixo já consegui isolar o dia e ano em strings de números, o problema agora é transformá-as em texto:
[code] DateFormat dfmt = new SimpleDateFormat( “'aos ‘d’ dias do mês de ‘MMMM’ de 'yyyy”);
Date hoje = Calendar.getInstance(Locale.getDefault()).getTime();
String a= dfmt.format(hoje);
String dia="";
String ano="";
for (int b=4; b<=a.length(); b++){//começa no 4 pra já livrar o aos (com espaço)
if((a.substring(b+1,b+2).equals(" "))){
dia = a.substring(b, b+1); //dia com um dígito
}else{
dia= a.substring(b, b+2); //dia com dois digitos
}
break;
}
ano = a.substring(a.length()-4,a.length());
Obrigado pelas soluções e sujestões…consegui resolver…
Juntando as idéias passadas por vocês…fiz da seguinte maneira…
um método para pegar o mes por extenso
public String getMesPorExtenso(Date data){
DateFormat dfmt = new SimpleDateFormat(MMMM);
return dfmt.format(data);
}
também criei métodos para pegar o dia e data por números assim
public int getDia(Date data){
int retorno = 0;
GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance();
cal.setTime(data);
retorno = cal.get(GregorianCalendar.DAY_OF_MONTH);
cal.clear();
cal = null;
return retorno;
}
Para pegar o mes faz a mesma coisa só mundando o parametro DAY_OF_MONTH para MONTH
depois para passar esses numeros por extenso usei a classe me passada nos links acima pelo SandroSoftwares e ErickRAR que na verdade são a mesma coisa…a mesma classe, porém modifiquei e coloquei uma flag nela para informar o uso ou não uso de moeda… ou seja para retornar uma string com “reais” e “centavos” ou retornar somente o número por extenso… e por fim depois é só unir as palavras e criar a frase… esses métodos servirão para várias outras etapas do sistema… assim ficou uma coisa útil e reaproveitável…