github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/util/time.go (about) 1 package util 2 3 import ( 4 "strconv" 5 "time" 6 7 "github.com/mundipagg/boleto-api/log" 8 ) 9 10 func Duration(callback func()) (duration time.Duration) { 11 start := time.Now() 12 callback() 13 end := time.Now() 14 duration = end.Sub(start) 15 return 16 } 17 18 func BrNow() time.Time { 19 z, err := time.LoadLocation("America/Sao_Paulo") 20 if err != nil { 21 lg := log.CreateLog() 22 lg.Warn(err.Error(), "Could not get Timezone") 23 return time.Now() 24 } 25 t := time.Now() 26 local := t.In(z) 27 return local 28 } 29 30 func NycNow() time.Time { 31 z, err := time.LoadLocation("America/New_York") 32 if err != nil { 33 lg := log.CreateLog() 34 lg.Warn(err.Error(), "Could not get Timezone") 35 return time.Now() 36 } 37 t := time.Now() 38 local := t.In(z) 39 return local 40 } 41 42 func GetDurationTimeoutRequest(t string) time.Duration { 43 tTime, _ := strconv.Atoi(t) 44 tOut := time.Duration(tTime) 45 return tOut 46 } 47 48 func TimeToLocalTime(t time.Time) time.Time { 49 loc, err := time.LoadLocation("Local") 50 if err != nil { 51 panic(err) 52 } 53 return t.In(loc) 54 }