日期格式化解析错误Java

时间:2017-04-14 15:01:48

标签: java date parsing format

我想格式化从Sun Apr 10 07:05:45 MDT 20172017-04-10T07:05:45.24Z的日期。

我使用以下内容:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE-LLL-dd H:mm:sszuuuu");
formatter.parse(date);

日期采用上面给出的格式 但是我在索引3处得到一个解析错误

2 个答案:

答案 0 :(得分:1)

有很多问题。正确的模式是socket.on('disconnect', onPlayerDisconnected);

  • 需要使用M代替L - 我正在调查目前的原因。见DateTimeFormatter month pattern letter "L" fails。如果你执行.format(“LLL”),它将返回4,如第4个月。
  • 需要使用空格而不是 -
  • 需要s,z和uuuu之间的空格
  • 需要使用HH而不是H
  • 4月10日是星期一,而不是星期天

请参阅此示例code run live at IdeOne.com

"EEE MMM dd HH:mm:ss z uuuu"
  

zdt.toString():2017-04-10T07:05:45-06:00 [America / Denver]

答案 1 :(得分:0)

" L"?试试" MMM"月份缩写:

DateTimeFormatter formatter = DateTimeFormatter
  .ofPattern("EEE-MMM-dd H:mm:sszuuuu");