Java UTC(GMT)时间和Date时间转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hou549135295/article/details/81485999

概念 :

格林尼治标准时间(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

猜你喜欢

转载自blog.csdn.net/hou549135295/article/details/81485999