Android处理日期
2017-06-27 10:40 tlnshuju 阅读(259) 评论(0) 收藏 举报
近期做一个项目,后台返回的日期是RFC3339格式的。之前没有看到过,当中遇到了几个问题以及解决
2015-11-18T14:49:55Z的Format为
   
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+00002015-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 "";
    } 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号