go 時間格式化

語言: CN / TW / HK

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