Go 建立指定的日期時間time.Time
的方式如下。
範例環境:
- Go 1.17
- 主機位置:台北(Asia/Taipei)
範例
使用time.Date()
依序輸入指定的年(year)、月(month),日(day)、時(hour)、分(min)、秒(sec)、奈秒(nsec)、時區位置(Location
)參數建立指定的時間的time.Time
。例如下面的t1
時區為本地時間(local)。
使用time.Parse()
輸入日期時間格式(layout)及相符的指定日期時間字串。例如範例的日期時間格式為2006-01-02 15:04:05
。若layout沒有設定時間偏移(offset)則預設是UTC時間,如下面的t2
為UTC時間。反之t3
有設定偏移時間+800
。
main.go
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Date(2022, 1, 22, 16, 30, 45, 0, time.Local)
fmt.Println(t1) // 2022-01-22 16:30:45 +0800 CST
fmt.Println(t1.UTC()) // 2022-01-22 08:30:45 +0000 UTC
t2, err := time.Parse("2006-01-02 15:04:05", "2022-01-22 16:30:45")
if err != nil {
panic(err)
}
fmt.Println(t2) // 2022-01-22 08:30:45 +0000 UTC
t3, err := time.Parse("2006-01-02 15:04:05-0700", "2022-01-22 16:30:45+0800") //UTC+0800 (Aisa/Taipei local)
if err != nil {
panic(err)
}
fmt.Println(t3) // 2022-01-22 16:30:45 +0800 CST
}
測試
執行印出以下。
2022-01-22 16:30:45 +0800 CST
2022-01-22 08:30:45 +0000 UTC
2022-01-22 16:30:45 +0000 UTC
2022-01-22 16:30:45 +0800 CST
沒有留言:
張貼留言