Go語言中,獲取時間戳用time.Now().Unix(),格式化時間用t.Format,解析時間用time.Parse。
看實例代碼:
package main import ( "fmt" "time" ) func main() { //獲取時間戳 timestamp := time.Now().Unix() fmt.Println(timestamp) //格式化為字符串,tm為Time類型 tm := time.Unix(timestamp, 0) fmt.Println(tm.Format("2006-01-02 03:04:05 PM")) fmt.Println(tm.Format("02/01/2006 15:04:05 PM")) //從字符串轉為時間戳,第一個參數是格式,第二個是要轉換的時間字符串 tm2, _ := time.Parse("01/02/2006", "02/08/2015") fmt.Println(tm2.Unix()) }
輸出結果:
1423361979
2015-02-08 10:19:39 AM
08/02/2015 10:19:39 AM
1423353600
看了上面的代碼,你可能會好奇,為什么格式字符串的時候,用的是2006-01-02這種格式。其實在Go語言里,這些數字都是有特殊函義的,不是隨便指定的數字,見下面列表:
月份 1,01,Jan,January
日 2,02,_2
時 3,03,15,PM,pm,AM,am
分 4,04
秒 5,05
年 06,2006
周幾 Mon,Monday
時區時差表示 -07,-0700,Z0700,Z07:00,-07:00,MST
時區字母縮寫 MST