為了解決計算一年有幾天的問題,首先想到的便是歷法的計時,我們現在采用的公歷又稱格里歷,是由意大利醫生兼哲學家里利烏斯(Aloysius Lilius)制定,在1582年頒行的。一年不是365天前幾天我在做一個和時間有關的小項目,在計算兩個時間點之間的間隔年份時,我圖方便,先計算兩個時間點之間的毫秒差(在javascript里可以直接求得),再除以(1000*3600*24*365),發現和實際數據差別很大。隨后google“一年有幾天”: 公歷中如果年份能被4整除,則是閏年,否則是平年。特殊情況是當年份能被100整除時,必須能被400整除才算閏年。比如2008和2000年是閏年,而2011和1900年則是平年。 閏年的2月份有29天,平年的2月有28天。也就是說閏年有366天,平年有365天。 如此算來每400年,會有97個閏年,多出97天,算下來97/400=0.2425,也就是說每年平均有365.2425天。可是google的365.242199天是怎么算出來的呢? 天文上的一年 回歸年,是由地球上觀察,太陽平黃經變化360°,即太陽再回到黃道(在天球上太陽行進的軌道)上相同的點所經歷的時間。 1回歸年 = 365.2421990741日 現在知道google給出的答案應該就是回歸年的時間了。 天文上的一年應該是地球公轉的時間,但是,其實回歸年并不是地球公轉一周的時間(即一恒星年的時間)。因為春分點受到進動的影響在黃道上退行,因此回歸年比恒星年短一點,在2000年兩者相差20.409分。 “恒星年”是地球圍繞太陽公轉的真正周期,也就是地球圍繞太陽公轉360°。 公歷的歷年平均長度為365.2425日,接近平均回歸年的365.242199日,即約每3300年誤差一日。 一天也不是86400秒在查閏年的時候發現了另外一個有趣的東西:閏秒。 我們在手機或者什么網站上設置時區時,經常會見到這個縮寫“UTC”,比如北京時間東八區經常被表示成“UTC+8”。 UTC,英文“Coordinated Universal Time”,即“協調世界時”,是以原子時秒長為基礎,在時刻上盡量接近于世界時的一種時間計量系統。這種即時法在世界范圍內被廣泛使用。 地球自轉速度不是穩定的,這種人類自己計算的時間最終會和天文上的時間有誤差。為確保協調世界時與世界時相差不會超過0.9秒,在有需要的情況下會在協調世界時內加上正或負閏秒。 是否加入閏秒由位于巴黎的國際地球自轉和參考座標系統服務決定,在格里歷的每年的6月或12月的最后一天的最后一分鐘進行跳秒或不跳秒,也就是說每年的這兩個一分鐘并不就是等于60秒,而是在60秒上下變化。 下圖是自1972年來添加閏秒的年份,那一年的那一天就會在真正意義上變得“特別的長”: 其他有趣的事 2008年4月:國際電信聯盟的工作小組將遞交給研究小組關于勸說停止閏秒的7A建議項目。2013年:如果70%以上的會員國投票廢止閏秒,閏秒將停止使用,并且世界時(UTC)將成為連續的時間刻度尺。那么2008年也將變成最后一個一年有31622401秒的年份。 —— end —— 本文由徐小花原創 |