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  }