【发布时间】:2021-09-09 10:19:13
【问题描述】:
我有一个如下所示的字符串:
String str = "Jun 26th 2021, 04:30:15 pm NY";
我想将其转换为ZonedDateTime,为此我使用DateTimeFormatterBuilder:
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("MMM dd'th' uuuu, h:mm:ss a z")
.toFormatter(Locale.US);
ZonedDateTime result = ZonedDateTime.parse(str, formatter);
但是解析器对这种格式不满意我收到了这个错误:
java.time.format.DateTimeParseException: Text 'Jun 26th 2021, 04:30:15 pm NY' could not be parsed at index 27
NY 似乎没有被z 覆盖,请对此错误有任何想法,还有什么技巧可以在解析器中避免'th'?
【问题讨论】:
-
嗯,纽约不是公认的时区。 Java 不知道 NY 是什么意思。除了 NY,还有哪些其他自定义时区名称?
-
查看this answer 了解如何处理
th部分。
标签: java date-format java-time zoneddatetime