我要格式化的字符串如下所示:String datetime =“ 9/1/10 11:34:35 AM”
SimpleDateFormat的以下模式有效:
SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss");
Date d = sdf.parse(datetime);
System.out.println(d);
Output> [Wed Sep 01 11:34:35 CEST 2010]
但是,我还需要解析AM / PM标记,当我将其添加到模式中时会收到异常。
无效的模式:
SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss a");
我也尝试过与此相同的例外:
SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss aa");
例外:
java.text.ParseException: Unparseable date: "9/1/10 11:34:35 AM"
我已经通过http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#text浏览了API,但似乎找不到我做错了的地方。
有什么建议么?
一种可能是您的默认设置Locale的AM / PM符号不同。构造日期格式时,Locale除非您确实要使用系统的默认值Locale,否则应始终提供一个,例如:
SimpleDateFormat sdf = new SimpleDateFormat("M/d/yy h:mm:ss a", Locale.US)
问题内容: 我正在尝试使用Java 8 DateTime API解析日期时间字符串。 要解析的字符串包含日期,月份,年份和AM / PM标记,例如。我使用以下模式:并且我希望将解析的LocalDateTime时间部分设置为AM / PM标记或取决于AM / PM标记。 使用以前的API,解析可以使用此模式按预期进行。 但是当我使用Java 8 DateTime API并运行以下代码时: 我得到以下
我是学习android Java的初学者。我从Youtube上学习java android教程,我完全遵循视频中的编码,但在android Studio上我的编码显示“无法解析符号‘标签’”。我可以知道是什么问题吗?并希望得到在座各位大师的讲解。
问题内容: 我正在尝试使用Java 8 将格式化的字符串解析为对象。但是,我在解析某些输入字符串时遇到了一些问题。当我的输入字符串具有“ AM”时,它将正确解析,但是当我的字符串具有“ PM”时,它将引发异常。这是一个简单的例子: 输出: 因此可以正确解析,但是会在消息中抛出DateTimeParseException: 但是,这就是我遇到的问题。.我不太确定该错误的确切含义,但这绝对与输入字符串
但这就是我卡住的地方..我不确定这个错误到底是什么意思,但它肯定与输入字符串的AM/PM部分有关。我也尝试搜索类似的错误,但我没有找到任何东西。我有一种感觉,我可能在定义格式化程序模式时犯了一个简单的错误,但我卡住了。任何帮助都将不胜感激!
问题内容: 我想使用joda库(在scala中,但应该与java相同)解析DateTime。 来源看起来像 在Java中,这看起来像 不幸的是,这不起作用,但会引发异常: 为什么不起作用?当然,我可以忽略“ CEST”部分,而只分析其余部分,但是有时在输入中“ CEST”可以用“ CET”代替,所以我不想忽略它。 问题答案: 问题是因为区域名称短而并非唯一。请参阅DateTimeFormatter
我已经研究过关于同一错误的其他问题,但我很难将它们应用到我的情况中。 这是我得到的错误: 致命错误:未捕获异常“exception”,消息为“DateTime::u-construct()[DateTime.-construct]:无法分析位置10(1)处的时间字符串(2013-07-22164:50:00):在/Applications/XAMPP/xamppfiles/htdocs/Festi