轉(zhuǎn)自
http://fmddlmyy.home4u.china.com/text8.html
時標和歷法
1、時標
時標(Time Scale)就是標度時間的方法。在時間的標度上,存在著兩個相互獨立的需求:一方面,我們希望時間標度能與地球的自轉(zhuǎn)相吻合,可以稱作天文學(xué)需求;另一方面,我們要求時間標度的單位是精確的,便于大家獲得準確的時間。由于地球自轉(zhuǎn)的不均勻性,從這兩個需求出發(fā)制定的時標會有細微的差異。
世界時(UT1)是基于地球自轉(zhuǎn)的時標,下文會詳細介紹。國際原子時(TAI)是基于單位時間的時標,它以“銫-133原子基態(tài)兩個超精細能級間躍遷輻射 9,192,631,770周所持續(xù)的時間”為一秒,可以稱作原子時標。原子時標的準確度為每日數(shù)納秒,而世界時的準確度只有數(shù)毫秒。
1.1 本初子午線
對于基于天文觀測的時標,地球上位于不同經(jīng)度的觀測者,在同一瞬間測得的結(jié)果是不同的。因此需要統(tǒng)一的地理經(jīng)度基準。
1884年在華盛頓舉行的國際子午線會議決定,采用英國倫敦格林威治(Greenwich)天文臺埃里中星儀所在的子午線作為時間和經(jīng)度計量的標準參考子午線,稱為本初子午線,又稱格林威治子午線。格林威治天文臺于1948年遷到蘇塞克斯郡(Sussex)的Herstmonceux Castle,但舊址繼續(xù)被用作0度經(jīng)線的位置。
1957年國際上以若干天文測時結(jié)果長期穩(wěn)定性較好的天文臺數(shù)據(jù)為參考,求得平均天文臺經(jīng)度原點。1968年國際上把通過地極原點和平均天文臺經(jīng)度原點的子午線稱為本初子午線。可見,本初子午線的定義已經(jīng)不依賴于格林威治天文臺舊址。
1.2 世界時
世界時的制定基準是太陽的周日視運動。視運動就是我們看到的運動。本來是地球繞著地軸由西向東轉(zhuǎn)動。但如果觀測者以為自己不動,就可以認為太陽在由東向西轉(zhuǎn)動,這就是太陽的周日視運動。
地球在自轉(zhuǎn)的同時還圍繞太陽公轉(zhuǎn),因為地球公轉(zhuǎn)軌道是橢圓的,所以太陽的周日視運動是不均勻的。天文學(xué)家制定了以太陽周日視運動的平均速度為基礎(chǔ)的平太陽時,平太陽時的基本單位是平太陽日。國際天文學(xué)聯(lián)合會于1928年決定,將由格林威治平子夜起算的平太陽時稱為世界時,簡稱UT。
UT0是天文臺觀測到的原始數(shù)據(jù)。UT1在UT0的基礎(chǔ)上,消除了地軸擺動的影響。還有一個修正了地球自轉(zhuǎn)速度季節(jié)性變動的UT2,現(xiàn)在已經(jīng)不用了。其實UT0、UT1、UT2的差異很小,不超過0.03秒。現(xiàn)在提到的世界時一般指UT1。
1.3 時區(qū)
世界時區(qū)的劃分,是以本初子午線為標準,從西經(jīng)7度5分到東經(jīng)7度5分為零時區(qū);從零時區(qū)的邊界分別向東和向西,每隔經(jīng)度15度劃一個時區(qū)。東、西各劃出 12個時區(qū),東十二時區(qū)與西十二時區(qū)相重合。全球共劃分成24個時區(qū)。各時區(qū)都以中央經(jīng)線的地方時為本區(qū)的區(qū)時,相鄰兩時區(qū)的區(qū)時相差一小時。
在太平洋中靠近180°經(jīng)線附近有一條國際規(guī)定的國際日期變更線(簡稱日界線)。此線兩側(cè)的日期不同。由東向西過日界線,日期要增加一天(即略去一天不算);由西向東過日界線,日期要減少一天(即日期重復(fù)一次)。
1.4 協(xié)調(diào)世界時(UTC)和閏秒
為了調(diào)和天文學(xué)需求和單位時間需求的差異,一種稱為協(xié)調(diào)世界時(UTC)的折衷時標于1972年面世。UTC的秒長與國際原子時(TAI)相同。但在必要時,UTC會增加1秒或去掉1秒,使UTC和世界時(UT1)的時刻之差保持在±0.9秒以內(nèi)。這一技術(shù)措施被稱為閏秒(Leap Second)。
因此,UTC與TAI之間會出現(xiàn)若干整數(shù)秒的差別。位于巴黎的國際地球自轉(zhuǎn)事務(wù)中央局(IERS)負責(zé)決定何時加入閏秒。TAI是從1958年1月1日0 時0分0秒開始計時的。在本文寫作時(2005年7月),UTC時間比TAI時間小32秒。最近一次閏秒調(diào)整是1999年1月1日。下次閏秒調(diào)整是 2006年1月1日。
我們提到的地區(qū)標準時就是在UTC上加上時差得到的本地時間。
1.5 格林威治時間(GMT)
格林威治時間(GMT)是一個比較模糊的概念。在1928年,GMT就是世界時。在UTC被廣泛采用后,我們提到的GMT實際上是UTC時間,或者說零時區(qū)的標準時。
1.6 GPS時間
GPS時間可以看作沒有閏秒調(diào)整的UTC時間,并以1980年1月6日0時0分0秒為起點。目前GPS時間比UTC時間大13秒。
協(xié)調(diào)世界時(UTC)將在2005年底實施一個正閏秒。屆時,所有的時鐘將撥慢1秒。GPS時間不做閏秒調(diào)整,所以將比UTC時間大14秒。從GPS時間計算本地時間,需要減去目前累計的閏秒,再加上本地的時差。
1.7 小結(jié)
在所有時標中,日和秒的關(guān)系都是固定的,每日86400秒。確定了秒的長度,就確定了日的長度,反之亦然。原子時標以秒為基準,秒和日的長度都是固定的。世界時以日為基本單位,每日的長度會有毫秒級的差異。UTC既保證了單位時間的精確,又通過閏秒調(diào)整與天文觀測的時間保持不大于±0.9秒的誤差。我們?nèi)粘I钪惺褂玫臅r間都以UTC時間為標準。
時標作為時間的刻度,為時間長河建立了一根以秒或日為單位的坐標軸。雖然,“GPS時間280948秒”可以標志一個唯一的時刻,但用于日常生活未免不太方便。在日常生活中,我們需要更方便的標記時間的方法,這就是下面要談到的歷法。
2、歷法
所謂歷法,就是通過合理地安排年、月、日這三個基本量的關(guān)系,為時間建立標記的方法。
2.1 回歸年和朔望月
前面說過:地球自轉(zhuǎn)可以看作太陽的周日視運動。同理,地球繞太陽的公轉(zhuǎn),可以被看作太陽的周年視運動。周年視運動的軌道被稱作黃道,黃道面和赤道面的夾角是23°27′。隨著太陽在黃道上的位置不同,地球上的季節(jié)也由春到夏,以至秋冬。
黃道和赤道的兩個交點分別被稱作春分點和秋分點,這兩點在黃道上的兩個中點分別被稱作夏至點和冬至點。太陽從春分點出發(fā),繞黃道一周,又回到春分點所花的時間被稱為回歸年。目前測量的回歸年長度是365.242189日。
月亮的盈虧變化,產(chǎn)生了月。月亮繞地球旋轉(zhuǎn),當轉(zhuǎn)到正對著太陽的位置,我們就會觀測到滿月,這就是望;當轉(zhuǎn)到背對太陽的位置,我們會完全看不到,這就是朔。月亮從朔到朔,或從望到望所花的時間被稱作朔望月。目前測量的朔望月長度是29.530588853000001日。
2.2 歷法的分類
僅以太陽運動為依據(jù)的歷法被稱作陽歷或太陽歷。例如我們現(xiàn)在使用的公歷。陽歷以回歸年為基本周期,與月亮運動沒有任何關(guān)系。
僅以月亮運動為依據(jù)的歷法被稱作陰歷或太陰歷。例如伊斯蘭教國家和地區(qū)使用的回歷。陰歷以朔望月為基本周期,與太陽運動沒有任何關(guān)系。
同時考慮太陽和月亮運動的歷法被稱作陰陽歷,例如我國的農(nóng)歷。在我國,農(nóng)歷習(xí)慣上也被稱作陰歷。陰陽歷把回歸年和朔望月并列為制歷的基本周期。
由于回歸年、朔望月的長度都不是日的整數(shù)倍,所以各種歷法都要通過增加閏日或閏月,來調(diào)整自己與基本周期的差異。下面介紹幾種常用的歷法。
2.3 儒略歷
公元前46年,羅馬執(zhí)政官儒略·凱撒頒布了儒略歷。儒略歷每年12個月,平年365天,閏年366天。除2月外,單數(shù)月份31天,偶數(shù)月份30天。2月份平年29天,閏年30天。每隔3年置一閏年。
儒略歷是純太陽歷,每年的平均長度是365.25天。每400年,儒略歷與回歸年大約相差3天,即:
(365.25-365.242189)*400 = 3.1244
凱撒為了紀念改歷成功,將他出生的7月從Quintilis改成自己的名字Julius。
2.4 奧古斯都歷
奧古斯都是“神圣”的意思,這是當時人們對羅馬統(tǒng)治者屋大維的尊稱。
從公元前42年到公元前9年,儒略歷被錯誤地執(zhí)行為“每3年置一閏年”。儒略·凱撒的侄子屋大維糾正了這個錯誤,同時將自己出生的8月從Sextilis 改成自己的稱號Augustus,將8月改成31天,將9、10、11、12月的大小月對換,并從2月份扣去一天,成為平年28天,閏年29天。
奧古斯都歷的月份設(shè)置和現(xiàn)在的公歷已經(jīng)完全相同了。
2.5 格里高利歷——公歷
公元1582年3月1日,羅馬教皇格里高利十三世頒布了格里高利歷,將不能被4整除的世紀年算作平年,這就是我們現(xiàn)在使用的公歷。
在公歷中,每400年有97個閏年,平均每年的長度是:
(365*400+97)/400 = 365.2425 天
每400年,公歷與回歸年大約相差0.1244天,即:
(365.2425-365.242189)*400 = 0.1244
2.6 儒略日和簡化儒略日
在天文學(xué)有一種連續(xù)紀日的儒略日(JD),它以儒略歷公元前4713年1月1日的GMT正午為第0日的開始。還有一種簡化儒略日(MJD):
MJD=JD-2400000.5
MJD的第0日是從公歷1858年11月17日的GMT零時開始的。我寫完前一個句號時的MJD是53583.22260。小數(shù)部分是以UTC時間在當天逝去的秒數(shù)除以86400得到的。0.22260約為UTC時間的5:20,加上中國的時區(qū)就是13:20。
需要注意:儒略歷公元前4713年1月1日相當于公歷公元前4713年11月24日。在香港天文臺的網(wǎng)頁上,將儒略歷說成以“公元前4713年1月1日格林尼治平時正午”起算,是錯誤的。
2.7 農(nóng)歷
2.7.1 月的劃分
農(nóng)歷的月是嚴格按照朔的時刻確定的,朔所在日是初一。由于朔望月的長度約為29.A日(將小數(shù)部分記作A),假設(shè)朔發(fā)生在(30-29.A)日以內(nèi)的時刻,兩個朔之間就只有29天,該月就是小月;否則兩個朔之間有30天,該月就是大月。
2.7.2 設(shè)計
我們已經(jīng)根據(jù)月亮的運動規(guī)律將時間長軸劃分為一個個月,下面要做的就是確定將哪些月組合成年。設(shè)計要求是:該設(shè)計應(yīng)使四季在每年的位置相對穩(wěn)定。
設(shè)計思路是這樣的:四季變化以回歸年為周期,回歸年的長度約為365.242189日。12個朔望月的長度約為354.367066236日,13個朔望月的長度約為383.897655089。如果我們讓有的年份有12個朔望月,有的年份有13個朔望月,并按照一定周期循環(huán);在一個周期內(nèi),年的平均長度接近回歸年的長度,就能實現(xiàn)我們的設(shè)計目標。例如:我們在19年中,讓7年有13個月,其它年為12個月,則在19年的周期里,每年的平均長度是:
(29.530588853000001*(12*19+7))/19 ≈ 365.246756866 天
這個結(jié)果與回歸年的長度已經(jīng)比較接近。包含12個朔望月的年份被稱作平年,包含13個朔望月的年份被稱作閏年,閏年多加的一個月被稱作閏月,這就是《尚書·堯典》中所說的“以閏月定四時成歲”。
那么,閏月加在哪里呢?在介紹置閏的規(guī)則前,必須先介紹一下節(jié)氣。
2.7.3 二十四節(jié)氣
以春分點為黃經(jīng)0度,將黃道分成二十四等分,每等分占黃經(jīng)15度,太陽通過等分點的時刻就是對應(yīng)節(jié)氣的時刻。二十四節(jié)氣只與太陽的運動有關(guān),所以它們在公歷中的日期變化不大。
二十四節(jié)氣從立春(黃經(jīng)30度)開始,依次為立春、雨水、驚蟄、春分、清明、谷雨、立夏、小滿、芒種、夏至、小暑、大暑、立秋、處暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至、小寒、大寒。
將立春作為第1個節(jié)氣,依次編號。偶數(shù)編號的節(jié)氣被稱為“中氣”(major solar terms),奇數(shù)編號的節(jié)氣仍稱作“節(jié)氣”(minor solar terms)。我們在日常生活中將節(jié)氣和中氣統(tǒng)稱為節(jié)氣(solar terms)。中氣是置閏的重要依據(jù)。
2.7.4 置閏
在農(nóng)歷中,從前一年正月初一到下一年正月初一被稱作年。顯然,必須先確定了閏月,才能確定年的范圍,我們不可能在置閏規(guī)則中用到“年”。實際上,我們用到了另一個概念:歲。從前一個冬至到下一個冬至被稱作歲。“歲”的長度就是回歸年的長度。
冬至所在的月被定義為11月。如果在兩個11月間有12個完整的月,那么這兩個11月間的歲就被稱作閏歲。因為這兩個11月間只有11個中氣,所以閏歲的12個月中至少有一個月沒有中氣。
閏歲的第一個不含中氣的月,就是閏月。至此,我們已經(jīng)描述了編制農(nóng)歷的完整規(guī)則。
2.7.5 閏年和Y2033問題
包含閏月的年被稱作閏年。如果閏月出現(xiàn)在11月,就可能出現(xiàn)前一年是閏年,但不是閏歲;后一年是閏歲,但不是閏年。一個典型的例子就是Y2033問題。
從2033年的第1個月算起,第8個月沒有中氣,第11個月有兩個中氣,第12個月沒有中氣,第13個月有兩個中氣,第14個月沒有中氣。在2032年的 11月和2033年11月間只有11個完整的月,不是閏歲。在2033年的11月和2034年11月間有12個完整的月,是閏歲。
按照置閏規(guī)則,第12個月被作為閏月,即閏11月。8月沒有中氣,又不是閏月,被稱作偽閏月(Fake leap month)。2034年是閏歲,但不是閏年。2034歲的閏月已經(jīng)在2033年加過了。
國內(nèi)1990年以前的萬年歷都將2033年設(shè)為閏7月,這個錯誤被稱作Y2033問題。以后出版的萬年歷都改成了閏11月。但網(wǎng)上的一些萬年歷程序現(xiàn)在還在使用錯誤的農(nóng)歷數(shù)據(jù)。
2.7 回歷
作為太陰歷的例子,簡單介紹一下回歷。回歷是伊斯蘭教國家和地區(qū)采用的歷法。它以朔望月為基本周期,每年12個月。平年奇數(shù)月30天,偶數(shù)月29天,共354天。
每30年為一周,加11個閏日。在30年循環(huán)周期中,第2、5、7、10、13、16、18、21、24、26、29年為閏年。閏年在12月底增加一天,共355天。
在回歷中,月的平均長度是:
(354*30+11)/30/12 ≈ 29.53 天
這和朔望月長度非常接近,很好地符合了月亮的運動規(guī)律。年的平均長度是:
(354*30+11)/30 ≈ 354.366667 天
這和回歸年約差11天。因此回歷的新年在公歷中會逐年提早,循環(huán)周期為
365.242189/(365.242189-354.366667) ≈ 33.5838766176 年
回歷的起始歷元被稱作伊斯蘭教紀元,定在穆罕默德從麥加遷到麥地那的一天,即儒略歷公元622年7月16日,在公歷中是公元622年7月19日。例如:伊斯蘭教紀元1426年1月1日是公元2005年2月10日。伊斯蘭教紀元1427年1月1日是公元2006年1月31日。
2.8 小結(jié)
公歷和回歷的計算都很簡單。但公歷的月不能符合月亮的運動規(guī)律。回歷的年不能符合太陽的運動規(guī)律。農(nóng)歷較好地符合了太陽和月亮的運動規(guī)律,但計算比較復(fù)雜。
在網(wǎng)上可以找到計算各國歷法的程序。我曾經(jīng)將其中一個Java程序庫的農(nóng)歷部分改寫成C/C++程序,以提高運算速度。在我的個人主頁上有關(guān)于農(nóng)歷計算程序的進一步討論(
http://fmddlmyy.home4u.china.com/cal.html)。不過這些內(nèi)容已經(jīng)超出了本文的范圍。
在寫這篇文章前,我不知道“時標”,對歷法的概念也很模糊。通過查資料、寫作,我對相關(guān)概念的了解越來越清晰。這篇文章的寫作目的是將時標、歷法的一些基本概念簡單、清晰地描述出來,希望有更多的讀者像我一樣從中受益。
posted on 2005-08-29 11:42
Pudgy's World 閱讀(1053)
評論(0) 編輯 收藏 所屬分類:
Java Newbie