Ulises Layera Ulises Layera - 4 months ago 34
Java Question

Couldn't translate Date to spanish with Locale("es_ES")

i'm trying to do a simple date format, it does work great, it's very easy, but the problem is the language. i used the locale "es_ES" to get "MiƩrcoles" instead of "Wednesday" and sorts like that but i failed.

Here's my code:

SimpleDateFormat formato =
new SimpleDateFormat("EEEE d 'de' MMMM 'de' yyyy", new Locale("es_ES"));
String fecha = formato.format(new Date());


The EXPECTED value of the
fecha
string is:

MiƩrcoles 4 de Abril de 2012


but i'm still getting:

Wednesday 4 de April de 2012


What am i doing wrong?

Thank you very much in advance

Answer

"es_ES" is a language + country. The constructors for Locale are:

Locale(String language) 
          Construct a locale from a language code.
Locale(String language, String country) 
          Construct a locale from language, country.
Locale(String language, String country, String variant) 
          Construct a locale from language, country, variant.

You want new Locale("es", "ES"); to get the Locale that goes with es_ES.

Comments