由于经度,全球分为24个时区,每相差一个时区,则相差一个小时。GMT位于中时区,即“零时区”,我们则处在东八区,即GMT的时间加上八小时就是我们的本地时间:
假设得到的GMT时间如下:
String time="05-Jun-2021 08:31:31 GMT";
那么如何将之转为本地时间呢?如下:(我们使用SimpleDateFormat 对象去给这上面的字符串转为对应的时间,即本地时间)
SimpleDateFormat sdf=new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss 'GMT'",Locale.US);
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.parse(time));
结果:
Sat Jun 05 16:31:31 CST 2021
上述代码中**SimpleDateFormat sdf=new SimpleDateFormat(“dd-MMM-yyyy HH:mm:ss ‘GMT’”,Locale.US);**表示的含义如下:
1.SimpleDateFormat是一个日期格式化的对象,可以用来对时间格式进行处理。
2.第一个参数时是用来匹配 05-Jun-2021 08:31:31 GMT的。
其中:
dd -----日 如:05
MMM-----月 如:Jun
MM ---- 月 如:12
yyyy-----年 如:2021
HH------时 如:08
mm------分 如:31
ss-------秒 如:31
EEE—三个字母的星期 如:Tuesday 写成 Tue
dddd----星期几,如Tuesday
Z----使用 RFC 822 4-digit 时区格式 形如:+800
如下:一一对应即可
05-Jun-2021 08:31:31 GMT
dd-MMM-yyyy HH:mm:ss 'GMT’