Time 常用函數(shù)
//獲取當前時間,返回Time類型
func Now() Time
Unix(sec int64, nsec int64) Time
//根據(jù)秒數(shù)和納秒,返回Time類型
Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time
//設(shè)置年月日返回,Time類型
Since(t Time) Duration//返回與當前時間的時間差
func (t Time) UTC() Time
func (t Time) Unix() int64
func (t Time) UnixNano() int64
常用的時間單位的換算
毫秒和納秒是兩的時間單位 1秒=1000毫秒 1毫秒=1000微秒 1微秒=1000納秒
fmt.Println(time.Now().Unix()) //獲取當前時間戳 單位是秒
fmt.Println(time.Now().UnixNano()) //獲取當前時間抽 單位是納秒
fmt.Println(time.Now().UnixNano() / 1e6) //將納秒轉(zhuǎn)換為毫秒
fmt.Println(time.Now().UnixNano() / 1e9) //將納秒轉(zhuǎn)換為秒
fmt.Println(time.Unix(time.Now().UnixNano()/1e9, 0)) //將毫秒轉(zhuǎn)換為 time 類型
Time常用方法
//時間類型比較,是否在Time之后
After(u Time) bool
//時間類型比較,是否在Time之前
Before(u Time) bool
//比較兩個時間是否相等
Equal(u Time) bool
//判斷時間是否為零值,如果sec和nsec兩個屬性都是0的話,則該時間類型為0
IsZero() bool
//返回年月日,三個參數(shù)
Date() (year int, month Month, day int)
//返回年份
Year() int
//返回月份.是Month類型
Month() Month
//返回多少號
Day() int
//返回星期幾,是Weekday類型
Weekday() Weekday
//返回年份,和該填是在這年的第幾周.
ISOWeek() (year, week int)
//返回小時,分鐘,秒
Clock() (hour, min, sec int)
//返回小時
Hour() int
//返回分鐘
Minute() int
//返回秒數(shù)
Second() int
//返回納秒
Nanosecond() int
timer 計時器
// 使用AfterFunc
time.AfterFunc(5 * time.Minute, func() {
fmt.Printf("expired")
}
timer := time.NewTimer(5 * time.Minute)
<-timer.C
fmt.Printf("expired")
####time.Newtimer函數(shù)
初始化三小時30分鐘的定時器
t := time.Newtimer(3*time.Hour + 30*time.Minute)
重置定時器
func (t *Timer) Reset(d Duration) bool
停止定時器,如果返回false,說明該定時器在之前已經(jīng)到期或者已經(jīng)被停止了,反之返回true。```
func (t *Timer) Stop() bool
func main() {
t := time.NewTimer(5 * time.Second)
//當前時間
now := time.Now()
fmt.Printf("Now time : %v.\n", now)
expireTime := <-t.C
fmt.Printf("Expiration time: %v.\n", expireTime)
}
##ticker 斷續(xù)器