Couldn't translate Date to spanish with Locale("es_ES")
date, java, locale
Solution
"es_ES" is a language + country. You must specify each part separately.
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.
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.
Problem
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?