Formatar data

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”)

AÊeee vlw Marcos!!!