您的位置:首页 > 移动开发 > Android开发

Android处理日期

2015-12-15 10:26 471 查看
最近做一个项目,后台返回的日期是RFC3339格式的,之前没有看到过,其中遇到了几个问题以及解决1、2015-11-18T14:49:55Z转换在SimpleDateFormat中给出了几种格式
yyyy-MM-dd 1969-12-31
 *                     yyyy-MM-dd 1970-01-01
 *               yyyy-MM-dd HH:mm 1969-12-31 16:00
 *               yyyy-MM-dd HH:mm 1970-01-01 00:00
 *              yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
 *              yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
 *       yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
 *       yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
 *     yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
 *     yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000

2015-11-18T14:49:55Z的Format为
yyyy-MM-dd'T'HH:mm:ss'Z'
2、时区转换一开始转换的时间总是有问题,然后跟后台人员说了,最后后台给出他们使用了GMT+0,而我这边默认使用GMT+8时区,由于最后显示按照GMT+8显示的,所以需要把2015-11-18T14:49:55Z按照GMT+0时区解析成Date,现在的Date是就是我们当前时区
public static String DateTZ2Normal(String datetime) {
        try {
            SimpleDateFormat formatTZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
            formatTZ.setTimeZone(TimeZone.getTimeZone("GMT+0"));
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date TZDate = formatTZ.parse(datetime);
            return format.format(TZDate);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: