Android使用SimpleDateFormat

Android使用SimpleDateFormat

我从这样的服务器获取数据:

data = "2015-04-24T23:00:17+08:00"


我在UTC + 8,我想得到

data = "2015-04-24 23:00:17"


我对此编程

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Data = formatter.parse(data);


但是我明白了

Fri Apr 24 23:00:17 格林尼治标准时间+0800 2015


我该如何纠正?

如果我用

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-M-dd HH:mm:ss",Locale.ENGLISH);


我懂了

Fri Apr 24 23:00:17 GMT+08:00 2015


不是我想要的

最佳答案

解析从服务器返回的日期后,便有了一个java.util.Date对象。如果要转换为自己的格式,则必须再次格式化日期对象。

private String getDate(String serverDate) {
    SimpleDateFormat serverFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    try {
        Date date = serverFormatter.parse(serverDate);

        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = myFormatter.format(date);

        return formattedDate;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "";
}

关于android - Android使用SimpleDateFormat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29851305/

10-11 22:36