#獲取當前時間
now := time.Now()
fmt.Printf("current time:%v\n", now)
year := now.Year() //年
month := now.Month() //月
day := now.Day() //日
hour := now.Hour() //小時
minute := now.Minute() //分鐘
second := now.Second() //秒
now.Unix() //時間戳
now.UnixNano() //時間戳
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)
時間戳轉時間
//時間戳轉時間,[秒時間戳][納秒時間戳]
unix := time.Unix(1624601480, 0)
fmt.Println(unix.Format("2006-01-02 15:04:05"))
字符串轉時間
//字符串轉時間
parseTime, _ := time.Parse("2006-01-02 15:04:05", "2021-01-25 10:06:45")
parseLocalTime, _ := time.ParseInLocation("2006-01-02 15:04:05", "2021-01-25 10:06:45", time.Local)
fmt.Println(parseTime, parseLocalTime)
獲取當前是星期幾
fmt.Println(now.Weekday().String())
時間計算
now = now.Add(time.Hour) //加1小時,如果爲負數,就是減1小時
sub := now.Sub(unix) //計算時間差值
fmt.Println(sub)
//Equal , Before , After
定時器
ticker := time.Tick(time.Second) //定義一個1秒間隔的定時器
for i := range ticker {
fmt.Println(i) //每秒都會執行的任務
}
格式化
// 格式化的模板爲Go的出生時間2006年1月2號15點04分 Mon Jan
// 24小時制
fmt.Println(now.Format("2006-01-02 15:04:05.000 Mon Jan"))
// 12小時制
fmt.Println(now.Format("2006-01-02 03:04:05.000 PM Mon Jan"))
fmt.Println(now.Format("2006/01/02 15:04"))
fmt.Println(now.Format("15:04 2006/01/02"))
fmt.Println(now.Format("2006/01/02"))