轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/80613024
本文出自【趙彥軍的博客】
時區
整個地球分為二十四時區,每個時區都有自己的本地時間。為了統一起見,使用一個統一的時間,稱為通用協調時(UTC, Universal Time Coordinated,也翻譯為:全球標準時間)。UTC與格林尼治平均時(GMT, Greenwich Mean Time,也翻譯成:格林威治標準時間)一樣,都與英國倫敦的本地時相同。UTC 與 GMT 基本相同。
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
字母 | 日期或時間元素 | 類型 | 示例 |
---|---|---|---|
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 |
常用的時間
package com.yiba.didiapi.test;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;public class Test {public static void main(String[] args) {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//輸出中國標準時間TimeZone desTz = TimeZone.getTimeZone("Asia/Shanghai");df.setTimeZone(desTz);System.out.println(df.format(new Date()));//輸出零時區時間(林威治標準時間)TimeZone gmtTz = TimeZone.getTimeZone("GMT");df.setTimeZone(gmtTz);System.out.println(df.format(new Date()));//輸出美國洛杉磯時間TimeZone losTz = TimeZone.getTimeZone("America/Los_Angeles");df.setTimeZone(losTz);System.out.println(df.format(new Date()));//輸出美國紐約時間df.setTimeZone(TimeZone.getTimeZone("America/New_York"));System.out.println(df.format(new Date()));}
}
輸出結果如下:
2018-06-11 14:28:57
2018-06-11 06:28:57
2018-06-10 23:28:57
2018-06-11 02:28:57
個人微信號:zhaoyanjun125 , 歡迎關注