【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才可以

posted @ 2013-03-14 22:53  大脚印  阅读(2657)  评论(0编辑  收藏  举报