java - java.time.format.DateTimeParseException 使用 DateTimeFormatter
问题描述
我有这个代码:
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern(DateType.DATE_FORMAT)
.appendOffset("+HH:mm", "+00:00")
.toFormatter();
ZonedDateTime.parse("2018-06-09T14:09:30.020+03:00[Europe/Tallinn]", formatter);
DateType.java
:
public class DateType {
public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_TIME_ZONE_FORMAT = DATE_FORMAT + "XXX";
}
但是,我运行这段代码,我有错误:
java.time.format.DateTimeParseException: Text '2018-06-09T14:09:30.020+03:00[Europe/Tallinn]' could not be parsed at index 10
据我了解,这是因为格式化程序。有什么问题?
解决方案
我想知道你为什么不尝试默认解析器。我认为它按预期工作。
String dateTime = "2018-06-09T14:09:30.020+03:00[Europe/Tallinn]";
ZonedDateTime z = ZonedDateTime.parse(dateTime);
System.out.println(z);
推荐阅读
- c++ - 如何为窗口截屏
- c# - 将文本单元格和组合框单元格组合到 TreeView 列 GTK C#?
- ubuntu-18.04 - 无法从 Ubuntu 18.10 升级到 19.10
- python - 在 FileChooserListView 中选择“返回”(到更高级别的目录)时,FileChooser 使 Kivy APP 崩溃:如何修复?
- reactjs - antd 4:使用defaultValue为Select设置默认值,不能使用initialValue
- vega-lite - 将图表标题与 y 轴上数字的左侧对齐
- javascript - 节点仅从文件中读取前 N 个字节/字符
- reactjs - react typescript:没有重载匹配此调用-将react-redux连接到组件
- javascript - 反应从父包装传递道具到子
- cefsharp - Cefsharp : NotReadableError: Could not start audio source