時(shí)區(qū)
? ? ? ?由于世界各國(guó)家與地區(qū)經(jīng)度不同,地方時(shí)也有所不同,因此會(huì)劃分為不同的時(shí)區(qū)。有關(guān)國(guó)際會(huì)議決定將地球表面按經(jīng)線從東到西,劃成一個(gè)個(gè)區(qū)域,并且規(guī)定相鄰區(qū)域的時(shí)間相差1小時(shí)。在同一區(qū)域內(nèi)的東端和西端的人看到太陽(yáng)升起的時(shí)間最多相差不過(guò)1小時(shí)。當(dāng)人們跨過(guò)一個(gè)區(qū)域,就將自己的時(shí)鐘校正1小時(shí)(向西減1小時(shí),向東加1小時(shí)),跨過(guò)幾個(gè)區(qū)域就加或減幾小時(shí)。這樣使用起來(lái)就很方便。但是實(shí)際上,在具體地區(qū)(國(guó)家或省份)中通常都存在跨時(shí)區(qū)情況,所以實(shí)際上時(shí)區(qū)的劃分并不是嚴(yán)格按照南北直線來(lái)劃分,而是按照具體自然條件劃分。例如我國(guó)幅員遼闊,東西方向差不多橫跨了五個(gè)時(shí)區(qū),但是實(shí)際上我國(guó)統(tǒng)一采用的是東八區(qū)的時(shí)間,即我們常說(shuō)的北京時(shí)間。
地球是自西向東自轉(zhuǎn),東邊比西邊先看到太陽(yáng),東邊的時(shí)間也比西邊的早。東邊時(shí)刻與西邊時(shí)刻的差值不僅要以時(shí)計(jì)算,而且還要以分和秒來(lái)計(jì)算。為了克服時(shí)間上的混亂,1884年在華盛頓召開(kāi)的一次國(guó)際經(jīng)度會(huì)議(又稱國(guó)際子午線會(huì)議)上,規(guī)定將全球劃分為24個(gè)時(shí)區(qū)(東、西各12個(gè)時(shí)區(qū))。
會(huì)議規(guī)定:英國(guó)(格林威治天文臺(tái)舊址)為中時(shí)區(qū)(即零時(shí)區(qū),也稱為本初子午線),東1-12區(qū),西1-12區(qū)。每個(gè)時(shí)區(qū)橫跨經(jīng)度15度,時(shí)間正好是1小時(shí)。最后的東、西第12區(qū)各跨經(jīng)度7.5度,以東、西經(jīng)180度為界。每個(gè)時(shí)區(qū)的中央經(jīng)線上的時(shí)間就是這個(gè)時(shí)區(qū)統(tǒng)一采用的時(shí)間,稱為區(qū)時(shí)。
例如:北京時(shí)間比洛杉磯時(shí)間早15或者16個(gè)小時(shí),比紐約時(shí)間早12或者13個(gè)小時(shí)。具體和時(shí)令有關(guān)。
冬令時(shí)和夏令時(shí)
? ? ? ?目前世界上用的時(shí)間基準(zhǔn)是基于格林威治時(shí)間,它處在零時(shí)區(qū),全球的二十四個(gè)時(shí)區(qū)基于它進(jìn)行加減。所謂的夏令時(shí)是指在每年三月份時(shí),在格林威治標(biāo)準(zhǔn)時(shí)間上撥快一個(gè)小時(shí),此時(shí)新的時(shí)間就是夏令時(shí)。而到了十月份后,又在夏令時(shí)的基礎(chǔ)上撥慢一個(gè)小時(shí),這時(shí)就是冬令時(shí),那么由此可以看出:格林威治標(biāo)準(zhǔn)時(shí)其實(shí)就是冬令時(shí)。
? ? ? ?目前全球大約有七十個(gè)國(guó)家和地區(qū)實(shí)行夏令時(shí)和冬令時(shí),歐盟從3月最后一個(gè)星期天到10月最后一個(gè)星期天實(shí)行夏令時(shí)。美國(guó)和加拿大從3月的第二個(gè)星期天至11月的第一個(gè)星期天實(shí)行夏令時(shí),其中美國(guó)的亞利桑那州大部分地區(qū)、夏威夷州、波多黎各和維京群島、美屬薩摩亞、關(guān)島和北馬里亞納群島不實(shí)行夏令時(shí),加拿大的薩斯喀徹溫省大部分地區(qū)也不實(shí)行。新西蘭會(huì)在9月最后一個(gè)星期天到4月第一個(gè)星期天實(shí)行夏令時(shí)。俄羅斯則從2014年起永久實(shí)行冬令時(shí),莫斯科與北京的時(shí)差也將達(dá)到5個(gè)小時(shí)。
? ? ? ?我國(guó)從1986年至1991年曾實(shí)行夏令時(shí)和冬令時(shí)。1980年至1986年中國(guó)用電緊張,當(dāng)時(shí)有些學(xué)者支持實(shí)行夏令時(shí)。1986年4月,我國(guó)中央有關(guān)部門發(fā)出《在全國(guó)范圍內(nèi)實(shí)行夏時(shí)制的通知》,具體作法是:每年從四月中旬第一個(gè)星期日的凌晨2時(shí)整(北京時(shí)間),將時(shí)鐘撥快一個(gè)小時(shí),如:從兩點(diǎn)撥至三點(diǎn)。到九月中旬第一個(gè)星期日的凌晨2時(shí)整(北京時(shí)間),再將時(shí)鐘撥回一小時(shí),即將表針由2時(shí)撥至1時(shí),夏令時(shí)結(jié)束。
? ? ? ?中國(guó)于1992年結(jié)束實(shí)行了6年的夏令時(shí)制度。1992年國(guó)務(wù)院發(fā)布的《國(guó)務(wù)院辦公廳關(guān)于暫停實(shí)行夏時(shí)制的通知》中也提到:“我國(guó)南北溫差大,東西時(shí)差大,全國(guó)又統(tǒng)一執(zhí)行北京時(shí)間,因此,實(shí)行夏令時(shí)制度在西北,西南以及長(zhǎng)江流域以南地區(qū)收不到節(jié)電效果。而且,夏令時(shí)制度也給人民群眾生活和鐵路運(yùn)輸?shù)刃袠I(yè)帶來(lái)諸多不便,根據(jù)這種情況,國(guó)務(wù)院決定,從一九九二年起暫停實(shí)行夏時(shí)制?!?/p>
其實(shí)實(shí)行夏令時(shí)的目的就是為了充分利用光照,因?yàn)樵谙募緯r(shí)段,晝長(zhǎng)夜短,將時(shí)鐘調(diào)快一個(gè)小時(shí)有利于充分利用陽(yáng)光,進(jìn)而達(dá)到節(jié)能減排的效果,根據(jù)法國(guó)能源與環(huán)境控制署2010年發(fā)布的調(diào)查報(bào)告顯示,2009年夏令時(shí)的實(shí)施節(jié)約了至少440億度電,這相當(dāng)于法國(guó)80萬(wàn)個(gè)家庭一年的用電量。同時(shí),夏令時(shí)也旨在提醒人們?cè)缙鹪缢?,養(yǎng)成良好的生活習(xí)慣,提高生活質(zhì)量。
但是夏令時(shí)的實(shí)行是一把雙刃劍,利弊皆有,弊端就是會(huì)影響人的生物鐘,畢竟會(huì)有著一個(gè)小時(shí)的時(shí)差,進(jìn)而可能導(dǎo)致睡眠、工作甚至是身體健康,需要付出的社會(huì)代價(jià)很大,所以很多地區(qū)對(duì)于是否需要實(shí)行夏令時(shí)存在很多爭(zhēng)議。
格林威治時(shí)間
? ? ? ?也稱格林尼治平均時(shí)間(Greenwich Mean Time,GMT),是指格林尼治所在地的標(biāo)準(zhǔn)時(shí)間。格林尼治是英國(guó)倫敦南郊原皇家格里尼治天文臺(tái)所在地,地球本初子午線的標(biāo)界處,世界計(jì)算時(shí)間和經(jīng)度的起點(diǎn)。1675年,由于英國(guó)海上勢(shì)力的擴(kuò)張,國(guó)王查理二世便決定在格林威治山頂?shù)牟t望臺(tái)處建立皇家天文臺(tái),主要用于確定地球的經(jīng)度。到公元1767年,天文學(xué)家們摸清了主要天體的運(yùn)行規(guī)律,船員得以通過(guò)星星的位置確定航船的方位。也是在那時(shí),世界上第一張航海圖誕生了。1884年,國(guó)際子午線會(huì)議通過(guò)表決,以通過(guò)格林威治的天文臺(tái)的經(jīng)線為本初子午線。子午線就是經(jīng)線,本初子午線就是零度經(jīng)線。這就是為什么24個(gè)時(shí)區(qū)都以格林威治的區(qū)時(shí)為基礎(chǔ)進(jìn)行加減的原因。
? ? ? ?格林尼治平均時(shí)間的正午是指當(dāng)平太陽(yáng)橫穿格林尼治子午線時(shí)(也就是在格林尼治上空最高點(diǎn)時(shí))的時(shí)間。由于地球每天的自轉(zhuǎn)是有些不規(guī)則的,而且正在緩慢減速,因此格林尼治平時(shí)基于天文觀測(cè)本身的缺陷,已經(jīng)被原子鐘報(bào)時(shí)的協(xié)調(diào)世界時(shí)(UTC)所取代。
? ? ? ?一般使用GMT+8表示中國(guó)的時(shí)間,是因?yàn)橹袊?guó)位于東八區(qū),時(shí)間上比格林威治時(shí)間快8個(gè)小時(shí)。
? ? ? ?區(qū)分幾個(gè)概念:CST,CET,UTC,GMT,DST,Unix時(shí)間戳
UTC:UTC指的是Coordinated Universal Time- 世界協(xié)調(diào)時(shí)間(又稱世界標(biāo)準(zhǔn)時(shí)間、世界統(tǒng)一時(shí)間),是經(jīng)過(guò)平均太陽(yáng)時(shí)(以格林威治時(shí)間GMT為準(zhǔn))、地軸運(yùn)動(dòng)修正后的新時(shí)標(biāo)以及以「秒」為單位的國(guó)際原子時(shí)所綜合精算而成的時(shí)間,計(jì)算過(guò)程相當(dāng)嚴(yán)謹(jǐn)精密,因此若以「世界標(biāo)準(zhǔn)時(shí)間」的角度來(lái)說(shuō),UTC比GMT來(lái)得更加精準(zhǔn)。其誤差值必須保持在0.9秒以內(nèi),若大于0.9秒則由位于巴黎的國(guó)際地球自轉(zhuǎn)事務(wù)中央局發(fā)布閏秒,使UTC與地球自轉(zhuǎn)周期一致。所以基本上UTC的本質(zhì)強(qiáng)調(diào)的是比GMT更為精確的世界時(shí)間標(biāo)準(zhǔn)。
GMT:Greenwich Mean Time 格林尼治平均時(shí),UTC和GMT都與英國(guó)倫敦的本地時(shí)相同,所以程序中UTC與GMT沒(méi)什么不同。只是說(shuō)GMT可能就精確性來(lái)說(shuō)不如UTC。
Unix時(shí)間戳:在計(jì)算機(jī)中看到的UTC時(shí)間都是從(1970年01月01日 0:00:00)開(kāi)始計(jì)算秒數(shù)的。所看到的UTC時(shí)間那就是從1970年這個(gè)時(shí)間點(diǎn)起到具體時(shí)間共有多少秒。 這個(gè)秒數(shù)就是Unix時(shí)間戳。
CST:CST卻同時(shí)可以代表如下 4 個(gè)不同的時(shí)區(qū):
Central Standard Time (USA) UT-6:00(美國(guó)中部時(shí)間)
Central Standard Time (Australia) UT+9:30(澳大利亞中部時(shí)間)
China Standard Time UT+8:00(中國(guó)標(biāo)準(zhǔn)時(shí)間)
Cuba Standard Time UT-4:00(古巴標(biāo)準(zhǔn)時(shí)間)
CET:Central European Time,歐洲中部時(shí)間,它是比世界標(biāo)準(zhǔn)時(shí)間UTC早一個(gè)小時(shí)的時(shí)區(qū)名稱之一,它被大部分歐洲國(guó)家和部分北非國(guó)家采用。冬季時(shí)間為UTC+1,夏季歐洲夏令時(shí)為UTC+2。
DST:Daylight Saving Time(夏日節(jié)約時(shí)),其實(shí)就是前面提到的夏令時(shí)
這么來(lái)看,它們的關(guān)系就很明確了,一般認(rèn)為:
UTC = GMT
CET = UTC/GMT+1
CST = CET+9 = UTC/GMT+8 = UTC/GMT-6 = UTC/GMT-4
問(wèn)題
為什么在有些系統(tǒng)的時(shí)鐘出現(xiàn)問(wèn)題時(shí),時(shí)間會(huì)顯示成Thu Jan 01 08:00:00 CST 1970 或者 1970-01-01 08:00:00?
? ? ? ?這是因?yàn)樵谟?jì)算機(jī)中存儲(chǔ)的是Timestamp,即時(shí)間戳,當(dāng)它出錯(cuò)時(shí),timestamp默認(rèn)取值為0,此時(shí)就表示時(shí)間(GMT)1970年1月1日0時(shí)0分0秒。而中國(guó)使用的是北京時(shí)間,處于東八區(qū),對(duì)應(yīng)的CST時(shí)間就是早上八點(diǎn),所以在國(guó)內(nèi)如果系統(tǒng)時(shí)間出現(xiàn)錯(cuò)誤,經(jīng)常會(huì)顯示成1970年1月1日 08:00
有時(shí)會(huì)遇到前后端獲取CST時(shí)間后,前端展示的時(shí)間內(nèi)容可能會(huì)出現(xiàn)差異:
? ? ? ?在Java程序中,獲取時(shí)間CST時(shí)間時(shí)一般是China Standard Time,但是客戶端JavaScript默認(rèn)采用的CST時(shí)間是美國(guó)中部時(shí)間(即Central Standard Time (USA) ),所以可能會(huì)出現(xiàn)時(shí)差問(wèn)題:例如通過(guò)Java獲取的CST時(shí)間是2015年3月4日上午10點(diǎn);但是如果直接將CST時(shí)間傳到前端,JavaScript接收后,它會(huì)將傳入的CST時(shí)間當(dāng)做美國(guó)中部時(shí)間(實(shí)際上是中國(guó)標(biāo)準(zhǔn)時(shí)間),那么如果此時(shí)將其轉(zhuǎn)換成GMT時(shí)間展示時(shí),就會(huì)發(fā)現(xiàn)得到的是:Wed, 04 Mar 2015 16:00:00 GMT,也就是2015年3月4日下午16點(diǎn)
//因?yàn)榇藭r(shí)的CST與GMT換算關(guān)系為:
CST = UTC/GMT - 6 //此時(shí)的CST為Central Standard Time (USA)
//所以可以得出:
UTC/GMT = CST + 6
時(shí)間戳(timestamp)
? ? ? ?它是一個(gè)能表示一份數(shù)據(jù)在某個(gè)特定時(shí)間之前已經(jīng)存在的、 完整的、 可驗(yàn)證的數(shù)據(jù),通常是一個(gè)字符序列,唯一地標(biāo)識(shí)某一刻的時(shí)間。從根本上講,它就是指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù)。它的提出主要是為用戶提供一份電子證據(jù), 以證明用戶的某些數(shù)據(jù)的產(chǎn)生時(shí)間。
時(shí)間戳可以分成兩種:自建時(shí)間戳和具有法律效應(yīng)的時(shí)間戳:
1.自建時(shí)間戳:此類時(shí)間戳是通過(guò)時(shí)間接收設(shè)備(如GPS,CDMA,北斗衛(wèi)星)來(lái)獲取時(shí)間到時(shí)間戳服務(wù)器上,并通過(guò)時(shí)間戳服務(wù)器簽發(fā)時(shí)間戳證書。此種時(shí)間戳可用來(lái)企業(yè)內(nèi)部責(zé)任認(rèn)定,在法庭認(rèn)證時(shí)并不具備法律效力。因其在通過(guò)時(shí)間接收設(shè)備接收時(shí)間時(shí)存在被篡改的可能,故此不能做為法律依據(jù)。
2.具有法律的效力的時(shí)間戳:它是由我國(guó)中科院國(guó)家授時(shí)中心與北京聯(lián)合信任技術(shù)服務(wù)有限公司負(fù)責(zé)建設(shè)的我國(guó)第三方可信時(shí)間戳認(rèn)證服務(wù)。由國(guó)家授時(shí)中心負(fù)責(zé)時(shí)間的授時(shí)與守時(shí)監(jiān)測(cè)。因其守時(shí)監(jiān)測(cè)功能而保障時(shí)間戳證書中的時(shí)間的準(zhǔn)確性和不被篡改。獲取時(shí)間戳平臺(tái)有“大眾版權(quán)保護(hù)平臺(tái)”,可與我國(guó)中科院國(guó)家授時(shí)中心時(shí)間同步。