package helpers import ( "fmt" "time" ) var drawDateLayouts = []string{ time.RFC3339, // 2006-01-02T15:04:05Z07:00 "2006-01-02", // 2025-10-29 "2006-01-02 15:04", // 2025-10-29 20:30 "2006-01-02 15:04:05", // 2025-10-29 20:30:59 } // ParseDrawDate tries multiple layouts and returns UTC. func ParseDrawDate(s string) (time.Time, error) { for _, l := range drawDateLayouts { if t, err := time.ParseInLocation(l, s, time.Local); err == nil { return t.UTC(), nil } } return time.Time{}, fmt.Errorf("cannot parse draw date: %q", s) } // FormatDrawDate normalizes a time to the storage format you use in SQL (date only). func FormatDrawDate(t time.Time) string { if t.IsZero() { return "" } return t.UTC().Format("2006-01-02") }