哎,先發下牢騷,go文檔還是太弱了,特别是标準庫中的文檔說明,很多函數幾乎就一句話過了。這點确實該向microsoft的msdn好好學學。
不用說,幾乎是開發必須用到的包之一。time包的說明文檔在:
<a href="http://golang.org/pkg/time/">http://golang.org/pkg/time/</a>
先注意下overview中的一句話:
the calendrical calculations always assume a gregorian calendar.
這個包的時間計算式是基于格裡曆,就是我們使用的公曆。關于格裡曆的曆史,可以看百度百科:
<a href="http://baike.baidu.com/view/391054.htm">http://baike.baidu.com/view/391054.htm</a>
看看godoc文檔,最大的資料類型就是time了,這個time類型最微小可以表示到nanosecond(微毫秒,十億份之一秒)。

time的比較是使用before,after和equal方法。看一眼after:
func (t time) after(u time) bool
很好,傳回的是bool類型,是我們所需要的。
sub方法傳回的是兩個時間點之間的時間距離,看上圖看到它傳回的是duration結構,這個結構的具體類型和操作也在godoc中
add方法和sub方法是相反的,擷取t0和t1的時間距離d是使用sub,将t0加d擷取t1就是使用add方法
iszero方法:time的zero時間點是january 1, year 1, 00:00:00 utc,這個函數判斷一個時間是否是zero時間點
local,utc,ln是用來顯示和計算地區時間的。
顯示:
特别是format這個函數,可以好好使用
文檔中對這個weekday類型就沒有說明!!沒法,直接看代碼可以看到:
weekday有一個string()方法
好了,看到這裡外帶我們有一個推測:
例子如下:
go的time之旅結束!!