init push

This commit is contained in:
2026-07-16 22:16:45 +07:00
commit 8b068bdb10
1021 changed files with 332816 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
package timezone
import (
"errors"
"strings"
"time"
)
const Default = "UTC"
var (
ErrEmpty = errors.New("timezone is required")
ErrInvalid = errors.New("timezone must be a valid IANA timezone")
)
func Normalize(name string) (string, error) {
tz := strings.TrimSpace(name)
if tz == "" {
return "", ErrEmpty
}
loc, err := time.LoadLocation(tz)
if err != nil {
return "", ErrInvalid
}
return loc.String(), nil
}
func WithDefault(name string) string {
tz := strings.TrimSpace(name)
if tz == "" {
return Default
}
return tz
}