java - ThreeTenBP DateTimeParseException

标签 java threetenbp

我正在尝试使用 ThreeTenBP 将日期字符串从服务器转换为日期时间。我的方法如下所示:

String toDateTime(String dateString) {
    DateTimeFormatter formatter = new DateTimeFormatterBuilder().appendPattern("M/d/yyyy h:mm a").toFormatter();
    ZonedDateTime dateTimeWithZone = ZonedDateTime.parse(dateString, formatter);
    return dateTimeWithZone.toString();
}

但是,我遇到了一个异常(exception):

DateTimeParseException: Text '2015-07-21T09:26:06.260-05:00' could not be parsed at index 4

我做错了什么?

最佳答案

您的模式以“M/”开头,表示月份。您的实际日期字符串以“2015-”开头,这显然是年份。实际上,该日期看起来像是 ISO 8601 格式,并且像“yyyy-MM-dd'T'HH:mm:ss.SSSX”这样的模式会匹配。

关于java - ThreeTenBP DateTimeParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542758/

相关文章:

java - 日期中出现错误 : from(java. time.Instant) 无法应用于 (org. Threeten.bp.instant)

java - 指定 Google Caliper 基准的附加维度

javascript - 控制 WebView 元素不起作用

Java:从 OSGi 应用程序中设置时区

calendar - 使用 ThreeTen-Backport (JSR 310) 将 ZonedDateTime 转换为日历

android - ThreeTen Backport 仅在某些设备上导致运行时

java - 如何解决ThreeTenABP中的ExceptionInInitializerError和ZoneRulesException?

java - 使用 struts 2 下载为 csv

java - Infinispan/JGroups集群连接失败,当TCPPING.initialHost包含多个主机时

java - 是否有在 Google App Engine 上运行的 CMS 可与 Plone 相媲美(在某些方面)?