詳解Golang time包中的結(jié)構(gòu)體time.Time
time.Time
time.Time 類型用來表示一個(gè)具體的時(shí)間點(diǎn),可以精確到納秒。結(jié)構(gòu)體定義和對應(yīng)的方法如下:
type Time struct { wall uint64 ext int64 loc *Location }
獲取各種時(shí)間點(diǎn)屬性的方法
- func (t Time) Date() (year int, month Month, day int),獲取日期(年、月、日)信息。
- func (t Time) Year() int,獲取年份信息。
- func (t Time) YearDay() int,獲取一年中第幾天(1~365)。
- func (t Time) Month() Month,獲取月份信息,返回的是一個(gè) Month 類型;
- func (t Time) ISOWeek() (year, week int),返回 ISO 8601 格式的年份和第幾周(1-53)。
- func (t Time) Weekday() Weekday,返回的一個(gè)Weekday類型。
- func (t Time) Day() int,獲取月內(nèi)第幾數(shù)(1~31)。
- func (t Time) Clock() (hour, min, sec int),獲取時(shí)間(時(shí)、分、秒)信息。
- func (t Time) Hour() int,獲取小時(shí)信息(0~23)。
- func (t Time) Minute() int,獲取分鐘信息(0~59)。
- func (t Time) Second() int,獲取秒信息(0~59)。
- func (t Time) Nanosecond() int,獲取納秒信息(0~999999999)。
- func (t Time) Unix() int64,獲取秒時(shí)間戳。
- func (t Time) UnixMilli() int64,獲取毫秒時(shí)間戳。
- func (t Time) UnixMicro() int64,獲取微秒時(shí)間戳。
- func (t Time) UnixNano() int64,獲取納秒時(shí)間戳。
- func (t Time) String() string,返回 "2006-01-02 15:04:05.999999999 -0700 MST" 類型的時(shí)間格式。
- func (t Time) Location() *Location,獲取時(shí)區(qū)信息。
看個(gè)簡單的示例:
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Date()) fmt.Println(t.Year()) fmt.Println(t.YearDay()) fmt.Println(t.Month()) fmt.Println(t.ISOWeek()) fmt.Println(t.Weekday()) fmt.Println(t.Day()) fmt.Println(t.Clock()) fmt.Println(t.Hour()) fmt.Println(t.Minute()) fmt.Println(t.Second()) fmt.Println(t.Nanosecond()) fmt.Println(t.Unix()) fmt.Println(t.UnixMilli()) fmt.Println(t.UnixMicro()) fmt.Println(t.UnixNano()) fmt.Println(t.String()) fmt.Println(t.Location()) }
時(shí)間處理方法(比較、判斷、解析)
- func (t Time) Format(layout string) string,將時(shí)間格式化為指定的格式。
- func (t Time) Add(d Duration) Time,加上指定的時(shí)間。
- func (t Time) AddDate(years int, months int, days int) Time,返回將給定的年、月和日數(shù)加到 t 上后所對應(yīng)的時(shí)間點(diǎn)。
- func (t Time) Sub(u Time) Duration,返回兩個(gè)時(shí)間點(diǎn)之間的時(shí)間差。
- func (t Time) Truncate(d Duration) Time,截?cái)嘀付ǖ臅r(shí)間。
- func (t Time) Round(d Duration) Time,將時(shí)間四舍五入到指定的時(shí)間。
- func (t Time) Equal(u Time) bool,判斷兩個(gè)時(shí)間點(diǎn)是否相等。
- func (t Time) After(u Time) bool,判斷 t 時(shí)間點(diǎn)是否在 u 時(shí)間點(diǎn)后面。
- func (t Time) Before(u Time) bool,判斷 t 時(shí)間點(diǎn)是否在 u 時(shí)間點(diǎn)前面。
其他方法就不一一說明了,可以參考官方文檔詳細(xì)查看。
到此這篇關(guān)于詳解Golang time包中的結(jié)構(gòu)體time.Time的文章就介紹到這了,更多相關(guān)Golang結(jié)構(gòu)體time.Time內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Go defer與time.sleep的使用與區(qū)別
- 詳解Golang time包中的結(jié)構(gòu)體time.Ticker
- 詳解Golang time包中的time.Duration類型
- Go?中?time.After?可能導(dǎo)致的內(nèi)存泄露問題解析
- Golang time.Sleep()用法及示例講解
- go?time.Sleep睡眠指定時(shí)間實(shí)例詳解(小時(shí)級到納秒級)
- 淺談golang 中time.After釋放的問題
- 解決Golang time.Parse和time.Format的時(shí)區(qū)問題
- go語言time.After()的作用
相關(guān)文章
Golang設(shè)計(jì)模式之適配器模式詳細(xì)講解
這篇文章主要介紹了使用go實(shí)現(xiàn)適配器模式,這個(gè)模式就是用來做適配的,它將不兼容的接口轉(zhuǎn)換為可兼容的接口,讓原本由于接口不兼容而不能一起工作的類可以一起工作,需要的朋友可以參考下2023-01-01go json編譯原理XJSON實(shí)現(xiàn)四則運(yùn)算
這篇文章主要為大家介紹了go json編譯原理XJSON實(shí)現(xiàn)四則運(yùn)算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Golang 語言極簡類型轉(zhuǎn)換庫cast的使用詳解
本文我們通過 cast.ToString() 函數(shù)的使用,簡單介紹了cast 的使用方法,除此之外,它還支持很多其他類型,在這沒有多多介紹,對Golang 類型轉(zhuǎn)換庫 cast相關(guān)知識感興趣的朋友一起看看吧2021-11-11300行代碼實(shí)現(xiàn)go語言即時(shí)通訊聊天室
本文主要介紹了300行代碼實(shí)現(xiàn)go語言即時(shí)通訊聊天室,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05