【发布时间】:2019-07-05 07:39:20
【问题描述】:
String oldDate = "04-07-19 02:41:39.063000000 PM";
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("dd-MM-YY HH:mm:ss")
.appendFraction(ChronoField.NANO_OF_SECOND, 1, 9, true)
.padNext(1)
.appendText(ChronoField.AMPM_OF_DAY)
.toFormatter();
LocalDate parseDate = LocalDate.parse(oldDate, formatter);
我在数据库中的日期是“04-07-19 02:41:39.063000000 PM” 我想解析日期并将其转换为我方便的形式。 但是当我尝试使用上面提到的 DateTimeFormatter 解析日期时,代码会抛出异常..
新日期应采用下述格式
String newDate = parseDate.format(DateTimeFormatter.ofPattern("dd-MMMM-uuuu"));
有人可以帮我跟踪错误吗?
我得到的异常是
Exception in thread "main" java.time.format.DateTimeParseException: Text '04-07-19 02:41:39.063000000 PM' could not be parsed at index 55
【问题讨论】:
-
"code throws exception.." 我们的任务是猜猜那个异常是什么?你为什么不把它放在你的问题中?
-
您是否将 DB 上的日期存储在 varchar 或日期中?为什么要在示例中解析文本?你不能从数据库中获取`java.sql.Date`吗?
-
我已更新问题以添加异常。我没有尝试任何其他解决方法,但我只是好奇为什么这不起作用?