Android SimpleDateFormat每天都会出错

Android SimpleDateFormat每天都会出错,android,simpledateformat,Android,Simpledateformat,好的,我的后端发送给我这个日期:2015-10-23 17:28:35.932620000 在我的android应用程序中,我有一个保存所有信息(包括这个日期)的对象。 这是设定者: public void setCreatedDate(String pDateAsString) { /** Intenta convertir la fecha cargada */ try { /** Obtiene la hora que viene de parametro

好的,我的后端发送给我这个日期:2015-10-23 17:28:35.932620000

在我的android应用程序中,我有一个保存所有信息(包括这个日期)的对象。 这是设定者:

public void setCreatedDate(String pDateAsString)
{
    /** Intenta convertir la fecha cargada */
    try {
        /** Obtiene la hora que viene de parametro como un Date */
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", IConstants.LOCALE);
        mFineCreatedDate = dateFormat.parse(pDateAsString);                 
    } catch (java.text.ParseException e) {
        e.printStackTrace();
    }           
}
这就是getter:

public String getCreatedDateAsString()
{
    DateFormat dateFormat = new SimpleDateFormat("EEEE FF/MMM/yyyy hh:mm aa",Locale.getDefault());
    String dateString = dateFormat.format(mFineCreatedDate);
    return dateString.substring(0, 1).toUpperCase(Locale.getDefault()) + dateString.substring(1).toLowerCase(Locale.getDefault());
}
它被格式化为以更可读的方式显示给用户。然而,这种情况正在发生:

2015-05-04 08:51:32这样的日期将显示在2015年5月1日星期一上午8:51


正如你所看到的,今天是错误的,我真的不知道为什么。至于我(基于SimpleDateFormat的文档),一切都很好。

您应该将“FF”(每月的一周中的一天)更改为“dd”(每月的一天)。有关更多信息,请参阅此项。

尝试这样解析您的日期是可行的

String dtStart = "11/08/2013 08:48:10";
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
try {
    date = format.parse(dtStart);
    System.out.println("Date ->" + date);
} catch (Exception e) {
    e.printStackTrace();
}

我投票结束这个问题,因为用户接受了他在评论中的错误