snapshot of https://github.com/traggo/server.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
build / build (push) Failing after 3s
Some checks failed
build / build (push) Failing after 3s
This commit is contained in:
51
test/time.go
Normal file
51
test/time.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/traggo/server/model"
|
||||
)
|
||||
|
||||
// Time parses a time panics if not valid
|
||||
func Time(value string) time.Time {
|
||||
parse, firstErr := time.ParseInLocation(time.RFC3339, value, time.UTC)
|
||||
if firstErr != nil {
|
||||
var err error
|
||||
parse, err = time.ParseInLocation(time.RFC3339Nano, value, time.UTC)
|
||||
if err != nil {
|
||||
panic(firstErr)
|
||||
}
|
||||
}
|
||||
return parse
|
||||
}
|
||||
|
||||
func timeWithCustomTZ(value string) time.Time {
|
||||
parse, err := time.Parse(time.RFC3339, value)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
_, offset := parse.Zone()
|
||||
return parse.In(time.FixedZone("unknown", offset))
|
||||
}
|
||||
|
||||
// TimeP parses a time panics if not valid
|
||||
func TimeP(value string) *time.Time {
|
||||
t := Time(value)
|
||||
return &t
|
||||
}
|
||||
|
||||
// ModelTimeUTC parses a model.Time in utc time. panics if not valid
|
||||
func ModelTimeUTC(value string) model.Time {
|
||||
return model.Time(Time(value))
|
||||
}
|
||||
|
||||
// ModelTime parses a model.Time panics if not valid
|
||||
func ModelTime(value string) model.Time {
|
||||
return model.Time(timeWithCustomTZ(value))
|
||||
}
|
||||
|
||||
// ModelTimeP parses a model.Time panics if not valid
|
||||
func ModelTimeP(value string) *model.Time {
|
||||
modelTime := ModelTime(value)
|
||||
return &modelTime
|
||||
}
|
||||
Reference in New Issue
Block a user