我在尝试解析字符串值时遇到解析器异常:
"Thursday, July 27, 2006 10:10:02 PM PST"
格式化:
"EEEE, MMMM d, YYYY h:mm:ss a z"
这是程序示例:
DateTime.parse("Thursday, July 27, 2006 10:10:02 PM PDT", DateTimeFormat.forPattern("EEEE, MMMM d, yyyy h:mm:ss a z"));
这是错误消息:
Invalid format: "Thursday, July 27, 2006 10:10:02 PM PDT" is malformed at "PDT"
<小时/>
这是我的示例程序
String str = "Thursday, July 27, 2006 10:10:02 PM PDT";
DateTimeFormatter formatterDateTime = DateTimeFormat.forPattern("EEEE, MMMM d, YYYY h:mm:ss a z");
try{
DateTime dt = DateTime.parse(str, formatterDateTime);
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
最佳答案
来自 JodaTime docs :
Zone names: Time zone names ('z') cannot be parsed.
但是SimpleDateFormat
确实支持时区解析。
SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM dd, YYYY h:mm:ss aa zzz");
Date date = format.parse("Thursday, July 27, 2006 10:10:02 PM PST");
关于java - 格式 EEEE、MMMM d、YYYY h :mm:ss a z 的解析器异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567091/