Fix for tim.Time change to tickets model includes date helper.
This commit is contained in:
31
internal/helpers/dates.go
Normal file
31
internal/helpers/dates.go
Normal file
@@ -0,0 +1,31 @@
|
||||
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")
|
||||
}
|
||||
Reference in New Issue
Block a user