Eu tenho uma string:
String inputDate = "18-FEB-24 10.02.33.578000000 AM";
Estou tentando lê-lo de volta e formatá-lo em AAAA-MM-DD HH:mm:ss.SSSSSS. Tentei as bibliotecas SimpleDateFormat e DateTimeFormatter, mas não consegui lê-lo de volta. Abaixo o código do chatgpt, mas está recebendo o erro "String cannot parse at index 3"
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("dd-MMM-yy hh.mm.ss.SSSSSSSSS a", Locale.ENGLISH);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");
LocalDateTime dateTime = LocalDateTime.parse(inputDate, inputFormatter);
String formattedDate = dateTime.format(outputFormatter);
DateTimeFormatterBuilder().parseCaseInsensitive()
O problema é que essa
FEB
não é a abreviação de mês que o Java espera - éFeb
.Então você precisa analisar sua string sem distinção entre maiúsculas e minúsculas , o que pode ser feito construindo-a
DateTimeFormatter
usando um construtor,DateTimeFormatterBuilder
.Aqui está um exemplo completo: