I've found using the android.text.format.DateUtils
relative APIs that return values like "yesterday" or "2 hours ago" very nice - but my app does not support every language Android does. So, I default to English, but for every language I don't support, the relative string shows in the device's setting.
For example, like:
Last attempt: hace 11 minutos.
I'd like to make the API call default to English for any languages I don't support. However, I don't see anywhere to set the Locale for the API call - I'm hoping I'm just missing it somewhere.
Is there a way to set the Locale just for the API call, ignoring the device setting?
This is working for me up to Android 7
According to the source code of the
DateUtils
class it uses bothResource.getSystem()
andLocale.getDefault()
method for formatting date and time. You can change the defaultLocale
usingLocale.setDefault()
method but I don't think it's possible to change the return value of theResource.getSystem()
method. You can try to change the default locale toLocale.US
but it seems to me that results will be even worse in this case.