Java 无法使用SimpleDataFormat分析AM/PM
我和你有类似的问题 我甚至尝试了该链接中提供的解决方案,但没有任何帮助Java 无法使用SimpleDataFormat分析AM/PM,java,simpledateformat,Java,Simpledateformat,我和你有类似的问题 我甚至尝试了该链接中提供的解决方案,但没有任何帮助 SimpleDateFormat timingFormat = new SimpleDateFormat("h:mm a", Locale.US); Date l = timingFormat.parse(time); 但我一直收到 java.text.ParseException:无法解析的日期:“12:34”。 当我进入凌晨12:34时,请稍等片刻。错误显示12:34无法解析,而不是12:34 AM。在这种情况下,您
SimpleDateFormat timingFormat = new SimpleDateFormat("h:mm a", Locale.US);
Date l = timingFormat.parse(time);
但我一直收到
java.text.ParseException:无法解析的日期:“12:34”。
当我进入凌晨12:34时,请稍等片刻。错误显示
12:34
无法解析,而不是12:34 AM
。在这种情况下,您的输入方法是读取第一个单词,直到空格,并忽略条目中的“AM”部分。更正输入方法,使其读取整个输入流/字符串,然后正确解析
public static void main(String[] args) throws ParseException {
SimpleDateFormat timingFormat = new SimpleDateFormat("h:mm a", Locale.US);
Date l = timingFormat.parse("12:34 AM");
System.out.println(l.toString());
}
上面的代码运行良好。这意味着您传递给
parse
方法的输入不是您所期望的。之后您尝试过解析吗?我在这里遇到了相同的问题。我们尝试了许多变体,但都无法让它解析AM或PM文本,所以请关闭它,使用24小时时钟。“a”或“aa”应仅用于格式化日期时间,而不用于解析中的字符串。