android 4.4 simpledateformate解析错误

时间:2016-05-10 11:40:20

标签: android

我想使用simpledateformate解析字符串日期,但我在android 4.4 api中错误的时间

这是我的代码

    String notificationDateStr = "";
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ");
    try {
        Date notificationDate = dateFormat.parse(notificationTime);
        dateFormat.applyPattern("yyyy-MM-dd");
        notificationDateStr = dateFormat.format(notificationDate);
        if (notificationDateStr.equals(dateFormat.format(new Date()))) {
            dateFormat.applyPattern("HH:mm");
            notificationDateStr = dateFormat.format(notificationDate);
        }
    } catch (Exception e) {
    }

我的数据是 2016-05-10T08:41:13.325679 + 00:00

2016-05-10T08:39:42.754822 + 00:00

2016-05-10T08:36:02.098456 + 00:00

2016-05-10T08:31:03.787253 + 00:00

但结果是

16点46分

16时52分

16时37分

16时44分

为什么这样?我如何调整我的时间

添加:

我在android 6.0 api中使用我的代码,这是正确的

1 个答案:

答案 0 :(得分:0)

public static String getOriginalTime() {

    String notificationDateStr = " 2016-05-10T08:41:13.325679+00:00";

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

    Date date = null;
    String str = null;

    try {
        date = inputFormat.parse(notificationDateStr);
        str = outputFormat.format(date);

        Log.e("DATE****", str);
    } catch (Exception e) {

        e.printStackTrace();

    }

    return str;
}