概念 :
格林尼治标准时间(GMT,旧译“格林威治平均时间”或“格林威治标准时间”)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
协调世界时(UTC) 英文:Coordinated Universal Time ,别称:世界统一时间,世界标准时间国际协调时间, 协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。它从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。
GMT(Greenwish Mean Time 格林威治平时),这是UTC的民间名称。GMT=UTC
例如:北京时间=UTC+8=GMT+8。
这套时间系统被应用于许多互联网和万维网的标准中,例如,网络时间协议就是协调世界时在互联网中使用的一种方式。
在军事中,协调世界时区会使用“Z”来表示。又由于Z在无线电联络中使用“Zulu”作代称,协调世界时也会被称为"Zulu time"。
中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。
代码:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
/**
* utc 时间格式转换正常格式 2018-08-07T03:41:59Z
*
* @param utcTime 时间
* @return
*/
public static String formatStrUTCToDateStr(String utcTime) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone utcZone = TimeZone.getTimeZone("UTC");
sf.setTimeZone(utcZone);
Date date = null;
String dateTime = "";
try {
date = sf.parse(utcTime);
dateTime = sdf.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return dateTime;
}
public static void main(String[] args) {
String utcTime = "2018-08-07T01:00:59Z";
String time = formatStrUTCToDateStr("2018-08-07T01:00:59Z");
System.out.println("utcTime 转换前:" + utcTime);
System.out.println("utcTime 转换后 time :" + time);
}
控制台输入内容:
utcTime 转换前:2018-08-07T01:00:59Z
utcTime 转换后 time :2018-08-07 09:00:59