Formatar data

5 respostas
evertonsilvagomesjav

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:

local = new Locale("pt", "BR");
			
this.format = DateFormat.getDateInstance(DateFormat.MONTH_FIELD, local);

Alguem me ajuda?

5 Respostas

B
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”.

mario.fts
Locale local = new Locale("pt", "BR");
		
		SimpleDateFormat df = new SimpleDateFormat("MMMM",local);
		
		Date d = new Date();
		
		System.out.println(df.format(d));
evertonsilvagomesjav

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!!!

M

evertonsilvagomesjava:
df1 faz o parse da String para yyyy-mm-dd e retorna um date?

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

evertonsilvagomesjav

AÊeee vlw Marcos!!!

Criado 11 de março de 2010
Ultima resposta 11 de mar. de 2010
Respostas 5
Participantes 4