Galera to tentando formatar uma String data minha aqui onde ela esta no formatato: “2010-01-16”
eu preciso que isso vire “Janeiro”. To tentando com Locale e DateFormat so que travei aqui:
[code]local = new Locale(“pt”, “BR”);
this.format = DateFormat.getDateInstance(DateFormat.MONTH_FIELD, local);[/code]
Alguem me ajuda?
import java.util.*;
import java.text.*;
class Janeiro {
public static void main (String[] args) throws ParseException {
String data = "2010-01-16";
DateFormat df1 = new SimpleDateFormat ("yyyy-MM-dd");
DateFormat df2 = new SimpleDateFormat ("MMMMM");
Date dt = df1.parse (data);
System.out.println (df2.format (dt));
}
}
Você só quer o nome do mês, ou você quer que mostre “16 de janeiro de 2010”? Explique-se. O programa acima só mostra “Janeiro”.
[code] Locale local = new Locale(“pt”, “BR”);
SimpleDateFormat df = new SimpleDateFormat("MMMM",local);
Date d = new Date();
System.out.println(df.format(d));[/code]
Opaaa vlw galera, funcionou o do Berzier agora tira algumas duvidas por favor?
df1 faz o parse da String para yyyy-mm-dd e retorna um date?
df2 precisa ter 5 “M” no construtor?
Vlw!!!
[quote=evertonsilvagomesjava]df1 faz o parse da String para yyyy-mm-dd e retorna um date?
[/quote]
Exato. Ele transforma a String em um objeto Date respeitando o formato que você passou no construtor. Depois disso você pode usar um segundo SimpleDateFormat para formatar a data como você quiser.
Depende. Veja a documentação de SimpleDateFormat que lá está tudo muito bem explicado.
menos de 3 letras: considera como um número (por exemplo, ‘1’ ou ‘01’)
3 letras: forma abreviada (por exemplo, “Jan”)
mais de 3 letras: forma completa (por exemplo, “Janeiro”)