【发布时间】:2019-02-17 15:51:18
【问题描述】:
我正在尝试将日期字符串解析为OffsetDateTime,如下所示。
但我遇到了异常,
线程“主”java.time.format.DateTimeParseException 中的异常: 无法在索引 0 处解析文本“Mon Jun 18 00:00:00 IST 2012”
public class ParseExample {
public static void main(String... args) throws ParseException {
String dateStr = "Mon Jun 18 00:00:00 IST 2012";
System.out.println(OffsetDateTime.parse(dateStr));
}
}
谁能帮我解决这个错误。
谢谢。
【问题讨论】:
-
如果可以,请避免依赖于解析三个字母的时区缩写,例如
IST。您可能会得到冰岛标准时间、爱尔兰夏令时间、以色列标准时间或其他时间。 -
看起来你已经得到了在老式
java.util.Date对象上调用toString的结果?如果是这样,最好将Date转换为OffsetDateTime,而不是解析它的toString。yourOldfashionedDate.toInstant().atZone(ZoneId.systemDefault()).toOffsetDateTime(). -
Related: How to convert Date.toString back to Date? 右边有一个较长的链接问题列表,您可能需要查看它。
标签: java date datetime java-time