将日期字符串解析为 java.util.Date 时出现非法模式字符“T”
尝试将日期字符串解析为标准时使用 Java Date API 执行 date 操作时,您可能会遇到异常并显示以下消息:“非法模式字符 'T'”。出现此错误的原因是指定用于解析的模式包含字符“T”,该字符未被识别为有效的模式字符。
原因:
“T”日期字符串中的字符表示日期和时间部分之间的时间分隔符。但是,默认的 SimpleDateFormat 模式不包含此字符。因此,解析器将其解释为非法模式字符。
解决方案:
要解决此问题,主要有两种方法:
1.自定义模式:
您可以指定包含“T”字符作为时间分隔符的自定义模式。例如:
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
2。单引号转义:
或者,您可以使用单引号转义“T”字符。这样,它将被视为文字字符而不是模式字符。
String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";
附加说明:
String input = "2010-10-02T12:23:23Z"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'"); LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
应用以下方法之一应该允许您成功解析以“T”字符作为时间分隔符的日期字符串。
以上是为什么在 Java 中解析带有'T”的日期字符串会抛出'非法模式字符'T'”异常?的详细内容。更多信息请关注PHP中文网其他相关文章!