123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package utils
- import (
- "fmt"
- "time"
- "git.i2edu.net/i2/go-zero/core/timex"
- )
- // A ElapsedTimer is a timer to track the elapsed time.
- type ElapsedTimer struct {
- start time.Duration
- }
- // NewElapsedTimer returns a ElapsedTimer.
- func NewElapsedTimer() *ElapsedTimer {
- return &ElapsedTimer{
- start: timex.Now(),
- }
- }
- // Duration returns the elapsed time.
- func (et *ElapsedTimer) Duration() time.Duration {
- return timex.Since(et.start)
- }
- // Elapsed returns the string representation of elapsed time.
- func (et *ElapsedTimer) Elapsed() string {
- return timex.Since(et.start).String()
- }
- // ElapsedMs returns the elapsed time of string on milliseconds.
- func (et *ElapsedTimer) ElapsedMs() string {
- return fmt.Sprintf("%.1fms", float32(timex.Since(et.start))/float32(time.Millisecond))
- }
- // CurrentMicros returns the current microseconds.
- func CurrentMicros() int64 {
- return time.Now().UnixNano() / int64(time.Microsecond)
- }
- // CurrentMillis returns the current milliseconds.
- func CurrentMillis() int64 {
- return time.Now().UnixNano() / int64(time.Millisecond)
- }
|