java获取GMT时间
一般情况下,使用SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z")获取的时间是Tue, 13 Feb 2018 08:13:38 CST
时间,即北京标准时间。
而北京时间是比格林尼治时间要快8个小时的,所以格林尼治时间应该是Tue, 13 Feb 2018 00:13:38 GMT
。
如果想要获取GMT
时间的话,应该这样做:
DateFormat dateFormat = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH);
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
Date now = new Date(System.currentTimeMillis());
String date = dateFormat.format(now);
System.out.println(date);
在dateformat里面设置timezone为GMT
。
其中,使用SimpleDateFormat格式化时间的时候,用到了Locale.ENGLISH
,主要是为了避免在中文环境下出现星期二, 13 二月 2018 00:13:38 GMT
的里面含有中文字的情况,毕竟代码里面希望出现的都是英文或者数字。