При попытке преобразовать данную дату в определенный формат разработчики Java могут столкнуться с исключением: «java.lang.IllegalArgumentException: невозможно отформатировать данный объект как дату». Эта ошибка возникает при попытке отформатировать неподдерживаемый объект как дату.
Чтобы решить эту проблему, нам необходимо использовать правильную стратегию форматирования. Метод DateFormat.format принимает объекты Date в качестве входных данных. В приведенном примере входным значением является строка, представляющая дату, а не объект Date.
Решение состоит в том, чтобы использовать два отдельных объекта SimpleDateFormat: один для анализа входной строки, а другой для форматирования результата. Например:
// Define the output format (mm/yyyy for months and years)
DateFormat outputFormat = new SimpleDateFormat("mm/yyyy", Locale.US);
// Define the input format (yyyy-MM-dd'T'HH:mm:ss.SSSX)
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
String inputText = "2012-11-17T00:00:00.000-05:00";
try {
// Parse the input string as a Date object
Date date = inputFormat.parse(inputText);
// Format the Date object using the desired format
String outputText = outputFormat.format(date);
} catch (ParseException e) {
// Handle parsing exceptions here
}
Следуя этому подходу, мы можем эффективно преобразовать строку, представляющую дату, в желаемый формат, избегая при этом ошибки «Невозможно отформатировать данный объект как дату».
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3