近年來,Golang 在程式語言中越來越受到歡迎,尤其是在處理大量資料時,Golang 的擴展性和並發效能很突出。在 Golang 中,時間是一個非常重要的概念,因為在許多情況下,我們需要對時間進行操作,例如計算時間差、格式化時間等等。這篇文章將著重介紹 Golang 中時間包(time)的使用方法。
一、時間基礎
在開始介紹 Golang 中的時間套件之前,我們需要了解一些時間的基礎知識。
時間戳記:Unix 時間戳是指自格林威治時間 1970 年 01 月 01 日 00 時 00 分 00 秒起至現在的總秒數,它可以被表示為一個長整數。
日期時間格式:日期時間格式是將時間依照一定格式顯示,例如 "2006-01-02 15:04:05"。
二、time 套件的基本用法
time 套件的用法非常簡單,只需要匯入 "time" 套件就可以使用相關的函數。 time 套件選擇的是奈秒精度,用於表示時間。
在Go 中使用time.Now() 函數取得目前時間:
now := time.Now() fmt.Println(now) // 2021-08-17 11:26:47.100293 +0800 CST m=+0.000073064
在Go 中使用time.Unix() 函數將時間戳記轉換為時間:
timestamp := time.Now().Unix() t := time.Unix(timestamp, 0) fmt.Println(t) // 2021-08-17 11:26:47 +0800 CST
t := time.Now() year := t.Year() month := t.Month() day := t.Day() fmt.Printf("%d-%02d-%02d", year, month, day) //2021-08-17
t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) //2021-08-17 11:26:47要注意的是,格式化字串中的時間格式要和目前時間的時間格式一致。
t1 := time.Now() time.Sleep(time.Second) t2 := time.Now() fmt.Println(t2.After(t1)) //true fmt.Println(t2.Before(t1)) //false fmt.Println(t2.Equal(t1)) //false
t := time.Now() fmt.Println(t.Add(time.Second*10)) //加10秒 fmt.Println(t.AddDate(0, 0, 1)) //加一天 t2 := time.Now() fmt.Println(t2.Sub(t)) //计算时间差三、總結以上就是Golang 中時間包的基本用法,透過學習本文你應該可以輕鬆地掌握時間的相關操作。在實際開發中,時間的操作非常常見,掌握時間的基本概念和操作方法可以大大提高程式開發的效率與程式碼的可讀性。
以上是一文詳解golang time用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!