Я пытаюсь отформатировать дату, используя приведенный ниже код.
2021-01-02 возвращает ЯНВАРЬ 2020 г. на одном устройстве и ЯНВАРЬ 2021 г. на другом устройстве. Почему так?
formatDate(transactionItem.dateLabel, "yyyy-MM-dd", "MMMM YYYY")?.toUpperCase()
public static String formatDate(String inputDate, String inputFormat, String outputFormat) {
try {
Locale appLocale = new Locale(LocaleHelper.getDefaultLanguage());
DateFormat originalFormat = new SimpleDateFormat(inputFormat, appLocale);
DateFormat targetFormat = new SimpleDateFormat(outputFormat);
Date dateObject = originalFormat.parse(inputDate);
String formattedDate = targetFormat.format(dateObject);
return formattedDate;
} catch (ParseException var9) {
return "";
} catch (Exception var10) {
return "";
}
}
SimpleDateFormat
и их друзей. Посмотрите, можете ли вы использовать дешугаринг или добавить ThreeTenABP в свой проект Android, чтобы использовать java.time, современный API даты и времени Java. С ним намного приятнее работать. - person Ole V.V.   schedule 07.01.2021