2025-03-31 17:36:49 +08:00

49 lines
863 B
Go

package convertor
import (
"net/url"
"strconv"
"time"
)
func ConvertInt[T int | int16 | int32 | int64](value string, defaultValue T) T {
i, err := strconv.Atoi(value)
if err != nil {
return defaultValue
}
return T(i)
}
func ConvertBool(value string, defaultValue bool) bool {
b, err := strconv.ParseBool(value)
if err != nil {
return defaultValue
}
return b
}
func QueryInt[T int | int16 | int32 | int64](vars url.Values, key string, defaultValue T) T {
v := vars.Get(key)
if len(v) == 0 {
return defaultValue
}
i, err := strconv.Atoi(v)
if err != nil {
return defaultValue
}
return T(i)
}
func DefaultStartTimeAndEndTime(start string, end string) (string, string) {
if len(start) == 0 {
start = "2000-01-01 00:00:00"
}
if len(end) == 0 {
end = time.Now().Add(time.Hour * 24).Format(time.DateTime)
}
return start, end
}