java.text.ParseException-格式正确

时间:2018-11-26 11:42:58

标签: java date datetime-parsing

我正在尝试解析此日期

  

2018年11月15日星期四16:56:49 +0000

使用以下代码:

Date date = null;

try {
    SimpleDateFormat parser = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
    date = parser.parse(xmlPullParser.nextText());
    } catch (ParseException e) {
        e.printStackTrace();
        date = new Date(); //This is just a temporary workaround
    }
  

java.text.ParseException:无法解析的日期:“ 2018年11月15日,星期四16:56:49   +0000“

我已经尝试过这种格式

  

EEE,dd MMM yyyy HH:mm:ss sssZ

     

EEE,d MMM yyyy HH:mm:ss sssZ

     

EEE,d MMM yyyy HH:mm:ss Z

但是显然它不起作用

1 个答案:

答案 0 :(得分:3)

您忘记设置SimpleDateFormat的语言环境。由于您尝试用英语阅读日期,因此我将以这种方式初始化:

SimpleDateFormat parser = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.US);

当您不指定任何语言环境时,它将使用系统的语言环境,而该语言环境显然不是美国或英国。