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?
"es_ES" is a language + country. You must specify each part separately.
The constructors for Locale
are:
You want new Locale("es", "ES");
to get the Locale that goes with es_ES.
However, it would be better to use Locale.forLanguageTag("es-ES")
, using the well-formed IETF BCP 47 language tag es-ES
(with -
instead of _
), since that method can return a cached Locale
, instead of always creating a new one.