Android日期时间解析问题

时间:2016-08-29 14:33:33

标签: android datetime

dateString:2016-08-29T11:39:52.2133065

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    try {
      Date date = dateFormat.parse(dateString);
      return dateFormat.format(date);
    } catch (ParseException e) {
       Log.e(TAG, "Unable to parse date " + e);
    }

字符串需要转换为2016-08-29 11:39,但我得到解析异常。

2 个答案:

答案 0 :(得分:1)

传递给日期格式化程序的格式应该与要解析的字符串的格式相对应。在" 2016-08-29T11:39:52.2133065"日期格式化程序应为:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");

您还需要一个新的格式化程序,您可以在其中指定输出格式:

SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");

像这样使用它们:

Date date = dateFormat.parse(dateString);
return newFormat.format(date);

答案 1 :(得分:0)

试试这个,删除dateString中的 T

                String dateString ="2016-08-29T11:39:52.2133065";
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                try {
                    Date date = dateFormat.parse(dateString);
                    dateFormat.format(date);
                    Log.e("Log",""+dateFormat.format(date));
                } catch (ParseException e)  {           
                        Log.e("GridActivity", "Unable to parse date " + e);
                }