Files
upstream-traggo/test/time.go
upstream-mirror cda7c1a474
Some checks failed
build / build (push) Failing after 3s
snapshot of https://github.com/traggo/server.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 05:24:45 +05:00

52 lines
1.1 KiB
Go

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
}