Ⅰ java utc轉本地時間
java utc轉本地時間的方法:
1、創建一個格式化時間對象simpleDateFormat,並初始化格式yyyy-MM-dd HH:mm:ss:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2、創建時區對象utcZone,獲取utc所在的時區
TimeZone utcZone = TimeZone.getTimeZone("UTC");
3、設置utc時區,為轉換做准備
simpleDateFormat.setTimeZone(utcZone);
4、獲取本地時間,並轉換
Date myDate = simpleDateFormat.parse(rawQuestion.getString("AskDateTime"));
Ⅱ 搞清編程中常見的CST、GMT、UTC時間問題
看一下java的當前時間:
在瀏覽器上輸出javascript的當前時間:
對比一下,發現java的顯示用了CST時間,javascprit用了GMT時間,那麼二者有什麼區別呢
GMT(Greenwich Mean Time)代表格林尼治標准時間,這個大家普通都知道,
而CST卻同時可以代表如下 4 個不同的時區,與GMT時間的關系如下:
有時還會看到 2020-09-25T 05:35:00.968 Z 這種時間,其實這種時間格式就是一個標准時間(其中T是分隔符,Z表示這個時間是標准時間),如果轉化為當地時間(北京),要按照時區劃分+8小時。
Ⅲ 在java裡面,如何得到UTC時間, 時間格式為:Tue Oct 12 00:00:00 UTC 0800 2010
Calendar gc = GregorianCalendar.getInstance();
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之後調用cal.get(int x)或cal.getTimeInMillis()方法所取得的時間即是UTC標准時間。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));
贈送其它時間方法,總有一款適合您
public static void main(String[] args) {
SimpleDateFormat foo = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("foo:"+foo.format(new Date()));
Calendar gc = GregorianCalendar.getInstance();
System.out.println("gc.getTime():"+gc.getTime());
System.out.println("gc.getTimeInMillis():"+new Date(gc.getTimeInMillis()));
//當前系統默認時區的時間:
Calendar calendar=new GregorianCalendar();
System.out.print("時區:"+calendar.getTimeZone().getID()+" ");
System.out.println("時間:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
//美國洛杉磯時區
TimeZone tz=TimeZone.getTimeZone("America/Los_Angeles");
//時區轉換
calendar.setTimeZone(tz);
System.out.print("時區:"+calendar.getTimeZone().getID()+" ");
System.out.println("時間:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
Date time=new Date();
//1、取得本地時間:
java.util.Calendar cal = java.util.Calendar.getInstance();
//2、取得時間偏移量:
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
//3、取得夏令時差:
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
//4、從本地時間里扣除這些差量,即可以取得UTC時間:
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之後調用cal.get(int x)或cal.getTimeInMillis()方法所取得的時間即是UTC標准時間。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));
Calendar calendar1 = Calendar.getInstance();
TimeZone tztz = TimeZone.getTimeZone("GMT");
calendar1.setTimeZone(tztz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeInMillis());
}
運算結果是Tue Oct 19 16:54:57 CST 2010 符合你的要求
只是以毫秒來算的
Ⅳ UTC時間
UTC是協調世界時(Universal Time Coordinated)英文縮寫,是由國際無線電咨詢委員會規定和推薦,並由國際時間局(BIH)負責保持的以秒為基礎的時間標度。UTC相當於本初子午線(即經度0度)上的平均太陽時,過去曾用格林威治平均時(GMT)來表示.北京時間比UTC時間早8小時,以1999年1月1日0000UTC為例,UTC時間是零點,北京時間為1999年1月1日早上8點整。
整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通信場合,為了統一起見,使用一個統一的時間,稱為通用協調時(UTC, Universal Time Coordinated)。UTC與格林尼治平均時(GMT, Greenwich Mean Time)一樣,都與英國倫敦的本地時相同。