Ulises Layera Ulises Layera - 1 year ago 100
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
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 Source

"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.