Моя строка — «24 мая 2024 года, 11:57», и я использую шаблон — «дд МММ». , гггг 'ат' чч:мм а". Когда я анализирую эту строку в одном тестовом файле Java, она работает нормально. Но когда я вставил ту же логику в свою основную программу, я получаю сообщение об ошибке:
Фрагмент основной программы:
Код: Выделить всё
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MMM, yyyy 'at' hh:mm a");
trans.transaction_date = LocalDateTime.parse((emailContent.substring(startIndex, endIndex).trim()),dtf);
Код: Выделить всё
java.time.format.DateTimeParseException: Text '24 May, 2024 at 11:57 AM' could not be parsed at index 22
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2052)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1954)
at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:494)
at com.sushant.finAutomation.financeAutomation.loadAmexTransactions(financeAutomation.java:404)
at com.sushant.finAutomation.financeAutomation.openEmailSocket(financeAutomation.java:358)
at com.sushant.finAutomation.financeAutomation.access$2(financeAutomation.java:293)
at com.sushant.finAutomation.financeAutomation$2$1.run(financeAutomation.java:177)
Код: Выделить всё
import java.text.ParseException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class tets22 {
public static void main(String[] args) throws ParseException {
String dateStr = "24 May, 2024 at 11:57 AM";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MMM, yyyy 'at' hh:mm a");
DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("dd MMM, yyyy HH:mm");
LocalDateTime datetime = LocalDateTime.parse(dateStr,dtf);
System.out.println(datetime.format(dtf1));
}
}
Я пытался отформатировать строку в объект LocalDateTime с помощью DateTimeFormat, но выдает ошибку .
Подробнее здесь: https://stackoverflow.com/questions/785 ... -for-am-pm