Я знаю, что это довольно важный вопрос, но меня это пугает, так как есть много способов сделать это.
Я живу в Англии, поэтому наша дата - "День-месяц-год". Поэтому в своем приложении я хочу сохранить дату, когда что-то произойдет, а затем отобразите ее. Но в Америке дата "Месяц-Год-Год", ранее я получил несколько писем, в которых говорилось, что кто-то что-то сделал 12 января, и сказал, что они сделали это 1 декабря.
Я могу получить Locale с устройства, поэтому мне интересно, какой лучший способ получить локализованную дату с днем, месяцем и годом.
Любая помощь приветствуется. Благодарю! :)
Попробуй это
Date date = new Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.UK);
System.out.println("Time: "+ df.format(date)); // or whatever you want to do with it.
DateFormat.getDateFormat(Context context)
возвращает текущий формат локали.
Используйте класс SimpleDateFormat
. Смотрите инструкции здесь
Он может создавать String в любом формате, выбранном вами, или форматировать по умолчанию для текущего JVM/device/Locale
Например:
final String FORMAT="yyyy-MM-dd";
return new SimpleDateFormat(FORMAT).format(Calendar.getInstance().getTime());