mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-04 06:54:45 +08:00
50 lines
874 B
Go
50 lines
874 B
Go
package util
|
|
|
|
import "time"
|
|
|
|
type Timer struct {
|
|
lasttime int64
|
|
timeinterval int64
|
|
}
|
|
|
|
func (slf *Timer) SetupTimer(ms int32) {
|
|
|
|
slf.lasttime = time.Now().UnixNano()
|
|
slf.timeinterval = int64(ms) * 1e6
|
|
}
|
|
|
|
func (slf *Timer) SetupTimerTheHour(ms int32) {
|
|
timeNow := time.Now()
|
|
nt := timeNow.Truncate(time.Hour * 1)
|
|
slf.lasttime = nt.UnixNano()
|
|
slf.timeinterval = int64(ms) * 1e6
|
|
}
|
|
|
|
func (slf *Timer) CheckTimeOut() bool {
|
|
now := time.Now().UnixNano()
|
|
if now-slf.lasttime > slf.timeinterval {
|
|
slf.lasttime = now
|
|
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func (slf *Timer) CheckTimeOutHour() bool {
|
|
now := time.Now().UnixNano()
|
|
if now-slf.lasttime > slf.timeinterval {
|
|
timeNow := time.Now()
|
|
nt := timeNow.Truncate(time.Hour * 1)
|
|
slf.lasttime = nt.UnixNano()
|
|
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func (slf *Timer) Reset() {
|
|
slf.lasttime = time.Now().UnixNano()
|
|
}
|