package nws import ( "fmt" "strings" "time" ) // ParseTime parses NWS timestamps. // // NWS observation timestamps are typically RFC3339, sometimes with fractional seconds. // We accept RFC3339Nano first, then RFC3339. func ParseTime(s string) (time.Time, error) { s = strings.TrimSpace(s) if s == "" { return time.Time{}, fmt.Errorf("empty time") } if t, err := time.Parse(time.RFC3339Nano, s); err == nil { return t, nil } if t, err := time.Parse(time.RFC3339, s); err == nil { return t, nil } return time.Time{}, fmt.Errorf("unsupported NWS timestamp format: %q", s) }