Java.time-解析一个月';他的名字不起作用
我必须用Java处理从外部API接收的时间戳。datetime格式的示例如下所示:Java.time-解析一个月';他的名字不起作用,java,java-8,date-parsing,java-time,Java,Java 8,Date Parsing,Java Time,我必须用Java处理从外部API接收的时间戳。datetime格式的示例如下所示: "May 9, 2018 5:32:31 PM CEST" 在查找了位于的文档中的信息后,我发现此格式未作为预定义格式包含。 因此,我继续使用定义自己的DateTimeFormatter,并得到以下错误消息: Exception in thread "main" java.time.format.DateTimeParseException: Text 'May 9, 2018 5:32:31 PM CEST'
"May 9, 2018 5:32:31 PM CEST"
在查找了位于的文档中的信息后,我发现此格式未作为预定义格式包含。
因此,我继续使用定义自己的DateTimeFormatter,并得到以下错误消息:
Exception in thread "main" java.time.format.DateTimeParseException: Text 'May 9, 2018 5:32:31 PM CEST' could not be parsed at index 0
所以我去了“Java教程”,发现他们解析月份名称的示例在我的程序中不起作用
发件人:
这会抛出相同的错误消息,因为解析在到达月份名称时失败。。。所以我的问题是如何使用java.time包从上面解析datetime字符串
来自的答案在我的机器上正常工作。(因此,MMM
模式正在工作,但在从字符串解析时不起作用)
谢谢你的帮助 日期字符串将使用默认语言环境(
Locale.derman
maybe?)进行解析
如果文本不是相应的语言,则必须指定正确的语言环境
,例如:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM d yyyy").withLocale(Locale.ENGLISH);
日期字符串将使用默认区域设置(
Locale.derman
maybe?)进行解析
如果文本不是相应的语言,则必须指定正确的语言环境
,例如:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM d yyyy").withLocale(Locale.ENGLISH);
一个经过充分研究并解释清楚的问题+1.一个经过充分研究并解释清楚的问题+1.我相信这是正确的答案。不过,不要使用
dd
,它在2018年5月9日期间不起作用。您可能更喜欢模式的两个参数,如模式的日期时间格式(“MMM d yyyy”,Locale.ENGLISH)
。它按预期工作,我可以确认,dd
对于我的用例不正确,因为一位数的日期不会扩展到,例如2009年5月。只是删除了关于dd
的部分,谢谢。我相信这是正确的答案。不过,不要使用dd
,它在2018年5月9日期间不起作用。您可能更喜欢模式的两个参数,如模式的日期时间格式(“MMM d yyyy”,Locale.ENGLISH)
。它按预期工作,我可以确认,dd
对于我的用例不正确,因为一位数的日期不会扩展到,例如2009年5月。只是删除了关于dd
的部分,谢谢