Java 時間總結

轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/80613024
本文出自【趙彥軍的博客】java

時區

整個地球分爲二十四時區,每一個時區都有本身的本地時間。爲了統一塊兒見,使用一個統一的時間,稱爲通用協調時(UTC, Universal Time Coordinated,也翻譯爲:全球標準時間)。UTC與格林尼治平均時(GMT, Greenwich Mean Time,也翻譯成:格林威治標準時間)同樣,都與英國倫敦的本地時相同。UTC 與 GMT 基本相同。api

UTC(世界標準時間)

協調世界時,又稱世界標準時間或世界協調時間,簡稱UTC(從英文「Coordinated Universal Time」/法文「Temps Universel Coordonné」而來),是最主要的世界時間標準,其以原子時秒長爲基礎,在時刻上儘可能接近於格林尼治標準時間。微信

GMT(格林尼治平時)

格林尼治平時(又稱格林尼治平均時間或格林尼治標準時間,舊譯格林威治標準時間;英語:Greenwich Mean Time,GMT)是指位於英國倫敦郊區的皇家格林尼治天文臺的標準時間,由於本初子午線被定義在經過那裏的經線。.net

理論上來講,格林尼治標準時間的正午是指當太陽橫穿格林尼治子午線時(也就是在格林尼治上空最高點時)的時間。因爲地球在它的橢圓軌道里的運動速度不均勻,這個時刻可能與實際的太陽時有偏差,最大偏差達16分鐘。翻譯

因爲地球天天的自轉是有些不規則的,並且正在緩慢減速,所以格林尼治時間已經再也不被做爲標準時間使用。如今的標準時間,是由原子鐘報時的協調世界時(UTC)。code

CST(北京時間)

北京時間,China Standard Time,中國標準時間。在時區劃分上,屬東八區,比協調世界時早8小時,記爲UTC+8。orm

不過這個CST這個縮寫比較糾結的是它能夠同時表明四個不一樣的時間:blog

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:00ci

字母 日期或時間元素 類型 示例
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

經常使用的時間get

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 , 歡迎關注

相關文章
相關標籤/搜索