Java處理GMT時間和UTC時間
時間標準簡介
UTC(世界標準時間)
協調世界時,又稱世界標準時間或世界協調時間,簡稱UTC(從英文“Coordinated Universal Time”/法文“Temps
Universel Coordonné”而來),是最主要的世界時間標準,其以原子時秒長為基礎,在時刻上儘量接近於格林尼治標準時間。
GMT(格林尼治平時)
格林尼治平時(又稱格林尼治平均時間或格林尼治標準時間,舊譯格林威治標準時間;英語:Greenwich Mean
Time,GMT)是指位於英國倫敦郊區的皇家格林尼治天文臺的標準時間,因為本初子午線被定義在通過那裡的經線。理論上來說,格林尼治標準時間的正午是指當太陽橫穿格林尼治子午線時(也就是在格林尼治上空最高點時)的時間。由於地球在它的橢圓軌道里的運動速度不均勻,這個時刻可能與實際的太陽時有誤差,最大誤差達16分鐘。
由於地球每天的自轉是有些不規則的,而且正在緩慢減速,因此格林尼治時間已經不再被作為標準時間使用。現在的標準時間,是由原子鐘報時的協調世界時(UTC)。
CST(北京時間)
北京時間,China Standard Time,中國標準時間。在時區劃分上,屬東八區,比協調世界時早8小時,記為UTC+8。
不過這個CST這個縮寫比較糾結的是它可以同時代表四個不同的時間: Central Standard Time (USA) UT-6:00
Central Standard Time (Australia) UT+9:30 China Standard Time UT+8:00
Cuba Standard Time UT-4:00
Java Date使用UTC時間,如 Tue Jan 05 14:28:41 CST 2016 表示China Standard Time UT+8:00 。
Java時間處理
日期和時間模式
日期和時間格式由日期和時間模式 字串指定。在日期和時間模式字串中,未加引號的字母 ‘A’ 到’Z’ 和’a’ 到’z’ 被解釋為模式字母,用來表示日期或時間字串元素。文字可以使用單引號 (‘) 引起來,以免進行解釋。””” 表示單引號。所有其他字元均不解釋;只是在格式化時將它們簡單複製到輸出字串,或者在解析時與輸入字串進行匹配。
定義了以下模式字母(所有其他字元’A’ 到’Z’ 和’a’ 到’z’ 都被保留):
字母 | 日期或時間元素 | 型別 | 示例 |
---|---|---|---|
G | Era 標誌符 | Text | AD |
y | 年份 | Number | 1996; 96 |
M | 年份中的月份 | Text | July; Jul; 07 |
w | 年份中的週數 | Number | 27 |
W | 月份中的週數 | Number | 2 |
D | 年份中的天數 | Number | 189 |
d | 月份中的天數 | Number | 10 |
F | 月份中的星期 | Number | 2 |
E | 星期中的天數 | Text | Tuesday; Tue |
a | Am/pm 標記 | Text | PM |
H | 一天中的小時數(0-23) | Number | 0 |
k | 一天中的小時數(1-24) | Number | 24 |
K | am/pm 中的小時數(0-11) | Number | 0 |
h | am/pm 中的小時數(1-12) | Number | 12 |
m | 小時中的分鐘數 | Number | 30 |
s | 分鐘中的秒數 | Number | 55 |
S | 毫秒數 | Number | 978 |
z | 時區 | General time zone | Pacific Standard Time; PST; GMT-08:00 |
Z | 時區 | RFC 822 time zone | -0800 |
在實際開發過程中經常會遇到將Date型別的資料轉換為String 型別或將String 型別的日期轉換成Date型別的問題。下面就介紹一下如何將String型別的GMT、GST日期轉換成Date物件。
JDK中提供了SimpleDateFormat類來實現String型別的日期和Date物件之間的互轉。
1.GMT時間轉換
//字串轉Date
String stringDate = "Thu Oct 16 07:13:48 GMT 2015";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM ddHH:mm:ss 'GMT' yyyy",Locale.US);
Date date =sdf.parse(stringDate);
System.out.println(date.toString());
//Date轉字串
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
2.
//格式化時間
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String time = sdf.format(new Date());
System.out.println(time);
//解析時間 2016-01-05T15:06:58+0800
Date date = sdf.parse(time);
System.out.println(date);
3.
//T代表後面跟著時間,Z代表UTC統一時間
//格式化時間
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String time = sdf.format(new Date());
System.out.println(time);
//解析時間 2016-01-05T15:09:54Z
Date date = sdf.parse(time);
System.out.println(date);
同理,我們使用Joda-Time實現。
相關推薦
Java處理GMT時間和UTC時間
時間標準簡介 UTC(世界標準時間) 協調世界時,又稱世界標準時間或世界協調時間,簡稱UTC(從英文“Coordinated Universal Time”/法文“Temps Universel Coordonné”而來),是最主要的世界時間標準
SQL Server 本地時間和UTC時間的相互轉換
get gpo () localdate lda code date() post nbsp SET @UTCDate = DATEADD(hour, DATEDIFF(hour,GETDATE(),GETUTCDATE()), @LocalDate) SET @Local
如何利用C語言來獲取當地時間和UTC時間 (設當地時間是北京時間)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
如何利用C語言來獲取當地時間和UTC時間? (設當地時間是北京時間)
#include <stdio.h> #include <time.h> int main() { time_t t = time(NULL); tm *t
QDateTime 本地時間和UTC時間轉換問題
先說一下UTC,搜尋360百科: 協調世界時,又稱世界統一時間、世界標準時間、國際協調時間,簡稱UTC,是以原子時秒長為基礎,在時刻上儘量接近於世界時的一種時間計量系統。1979年12月3日在內瓦舉行的世界無線電行政大會通過決議,確定用“世界協調時間”取代“
本地時間和UTC時間 轉換
本地時間轉UTC時間 // yyyy-MM-dd HH:mm:ss 東八區 +8 public static String parseStringToUtc(String string)
如何利用C語言來獲取當地時間和UTC時間 (設當地時間是北京時間)
#include <stdio.h> #include <time.h> int main(){ time_t t = time(NULL); tm *tp = localtime(&t); // 北京時間 printf("%d/%
Java時間處理(UTC時間和本地時間轉換)
文章內容引用來源: 前言: 本文主要對UTC、GMT、CST等時間概念做簡單的介紹,比較實用的在於本文最後一個小知識點:帶時區格式的時間和本地時間格式兩者之間的轉換方法,再次只是對簡單情況做處理,如果需要處理複雜的時間轉換,可以百度找一下jar包。 1
Java UTC(GMT)時間和Date時間轉換
概念 : 格林尼治標準時間(GMT,舊譯“格林威治平均時間”或“格林威治標準時間”)是指位於倫敦郊區的皇家格林尼治天文臺的標準時間,因為本初子午線被定義在通過那裡的經線。 協調世界時(UTC) 英文:Coordinated Universal Time ,別稱:世界統一
全網最全!徹底弄透Java處理GMT/UTC日期時間
[TOC] ![](https://img-blog.csdnimg.cn/20210118055156568.jpg#pic_center) # 前言 你好,我是A哥(YourBatman)。 本系列的目的是明明白白、徹徹底底的搞定日期/時間處理的幾乎所有case。[上篇文章](https://m
java UTC時間和local時間相互轉換
互轉 cat color except static 相互轉換 clas AS mil 1、local時間轉UTC時間 /** * local時間轉換成UTC時間 * @param localTime * @return *
JAVA UTC時間和本地時間
UT - 世界時 Universal Time 世界時是最早的時間標準。 在1884年,國際上將1s確定為全年內每日平均長度的1/8.64×104。以此標準形成的時間系統,稱為世界時,即 UT1。 1972年國際上開始使用國際原子時標,從那以後,經過格林
utc時間和local 時間互轉
python utc time local time python 1.utc 時間和 local 時間互轉#utc 轉本地時間def utcFlocaltime(utc_time): utc_time = utc_time + datetime.timedelta(hour
UTC時間和普通時間的區別
col strong cal 區別 active ron enable shang sha UTC時間 [root@openstack01 ~]# timedatectl Local time: Sat 2018-08-18 23:04:24 C
java 專案時間和伺服器時間不一致
今天線上專案關於時間的幾個任務都出了問題,檢視日誌發現日誌的時間不對,用的是log4j,日誌輸出的時間都早了很長時間。 1 首先先登上伺服器查看了伺服器的系統時間 linux下 date命令 時間正確的。 2 瀏覽網頁發現有個硬體時間,系統時間是指當前Linux Kernel中的時鐘,而硬體時鐘則是主
UTC時間和CST時間
UTC時間:世界協調時間(UTC)是世界上不同國家用來調節時鐘和時間的主要時間標準。 :也就是零時區的時間 CST時間:中央標準時間 Central Standard Time (USA) UT-6:00(美國cst時
UTC時間和本地時間小結
1、var utc=new Date().getTime()+2880000;//獲取北京時間,但是似乎和獲取的本地時間還相差一個月的毫秒數 2、 這個就是獲取本地時間的毫秒數 var date
java獲得當前時間和當前時間前30秒時間
import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; //獲得當前時間和當前時間前30秒時間 SimpleDateFormat df = new Sim
時間:UTC時間、GMT時間、本地時間、Unix時間戳
1.UTC時間 與 GMT時間 我們可以認為格林威治時間就是時間協調時間(GMT=UTC),格林威治時間和UTC時間均用秒數來計算的。 2.UTC時間 與 本地時 UTC + 時區差 = 本地時間
Docker Java應用日誌時間和容器時間不一致
摘要: 1)在docker容器和系統時間不一致是因為docker容器的原生時區為0時區,而國內系統為東八區。 2)還有容器中執行的java應用打出的日誌時間和通過date -R方式獲取的容器標準時間有八個小時時間差。 也就是容器時間和系統時間一