Γεια σου. Я считаю, что vguzzi ответ правильный. Я хотел бы добавить два сообщения:
- Избегайте устаревших классов
GregorianCalendar
, Date
, TimeZone
и общеизвестно хлопотных SimpleDateFormat
. Вместо этого используйте java.time
, современный Java-интерфейс даты и времени.
- Используйте встроенные локализованные форматы, а не сворачивайте собственные, чтобы намного лучше соответствовать ожиданиям местной аудитории.
Пример кода:
DateTimeFormatter originalFormatter
= DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ROOT);
DateTimeFormatter userFormatter
= DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
String originalDateTimeString = "Thu Jun 28 14:25:00 GMT+03:00 2018";
ZonedDateTime dateTime = ZonedDateTime.parse(originalDateTimeString, originalFormatter);
String formattedDateTime = dateTime.format(userFormatter);
System.out.println(formattedDateTime);
При запуске в локали США печатается результат, похожий на ваш:
28 июня 2018 г., 14:25:00
Британский язык уже немного отличается:
28 июня 2018 г., 14: 25: 00
Есть английский и английский. И Java знает, что испанский также не использует AM и PM:
28 июня. 2018 14: 25: 00
Для меня было неожиданностью узнать, что греческий делает:
28 сентября 2018 г., 2:25:00 мкм.
Примеры выходных данных взяты из кода, работающего на моей Java 9. Данные локали на Android могут отличаться, что дает несколько иной вывод в некоторых случаях, но все же хорошо подходит для разных локальных аудиторий.
Вопрос: Могу ли я использовать java.time на Android?
Да, java.time
прекрасно работает на старых и новых устройствах Android. Просто требуется хотя бы Java 6 .
- В Java 8 и более поздних версиях и на более новых устройствах Android (от 26 уровня API, как мне сказали) современный API встроен.
- В Java 6 и 7 получите ThreeTen Backport, бэкпорт новых классов (ThreeTen для JSR 310; см. Ссылки внизу).
- На (более старых) Android используется версия Android ThreeTen Backport. Это называется ThreeTenABP. И убедитесь, что вы импортируете классы даты и времени из
org.threeten.bp
с подпакетами.
Ссылки