golang 指定時區和自定義時區

golang 指定時區linux

loc,_:=time.LoadLocation("Asia/Shanghai")
t:=time.Now()
t = t.In(loc)

LoadLocation 有個問題,它依賴於 IANA Time Zone Database (簡稱 tzdata 吧) 這個數據庫,通常linux系統都帶了,可是windows系統就沒帶。golang

沒有 tzdata 就會從$GOROOT/中找。對於沒有安裝go環境的windows系統來講,就沒辦法經過 LoadLocation 設置時區。數據庫

 

golang 自定義時區windows

    a1 := time.Now()
    fmt.Println("a1:", a1)
    a2 := a1.Format("2006-01-02 15:04:05")
    fmt.Println("a2:", a2)
    a3, _ := time.Parse("2006-01-02 15:04:05", a2)
    fmt.Println("a3:", a3)
    a4 := time.Now()
    fmt.Println("a4:", a4)
    a5 := a4.UTC()
    fmt.Println("a5:", a5)

    secondsEastOfUTC := int((8 * time.Hour).Seconds())
  //上面是計算8小時一共多少秒,下面是定義a6這個變量爲自定義的時間格式,下面用的時間格式名叫"CST" ,這個格式咱們定義爲utc時間+8小時 a6 :
= time.FixedZone("CST", secondsEastOfUTC) a7 := a5.In(a6) fmt.Println(a7) fmt.Println("a5.Sub(a3):", a5.Sub(a3)) fmt.Println("a4.Sub(a1):", a4.Sub(a1))
相關文章
相關標籤/搜索