【Java】格林尼治时间转化为本地时间
原时间格式如下:
Thu Mar 07 09:53:21 格林尼治标准时间+0800 2013
转化方法如下:
1 public static String convertGMTToLoacale(String gmt){ 2 String cc = gmt.substring(0, 19) + gmt.substring(33, 38); 3 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy",new Locale("English")); 4 try { 5 Date date = sdf.parse(cc); 6 SimpleDateFormat dateformat = new SimpleDateFormat("dd/MM"); 7 String result = dateformat.format(date); 8 return result; 9 } catch (ParseException e) { 10 } 11 return ""; 12 }
注意两点:
1)首先将格林尼治标准时间+0080去掉;
2)SimpleDateFormat的格式必须和剩余的字符格式(Thu Mar 07 09:53:21 2013)完全一样,比如星期几使用“Thu”三个字符表示的,在Format里面也必须使用三个E来表示;
3)在Android里面,new Locale("English")是不被认可的,会报错,必须用Local.ENGLISH才可以