mirror of
https://github.com/araddon/dateparse.git
synced 2026-08-10 20:51:28 +08:00
Iso3339 support
This commit is contained in:
16
parseany.go
16
parseany.go
@@ -156,6 +156,22 @@ func parseFeatures(datestr string) Features {
|
||||
func ParseAny(datestr string) (time.Time, error) {
|
||||
f := parseFeatures(datestr)
|
||||
switch {
|
||||
case f.Has(HAS_T):
|
||||
//RFC3339 = "2006-01-02T15:04:05Z07:00"
|
||||
if len(datestr) == len(time.RFC3339) {
|
||||
if t, err := time.Parse(time.RFC3339, datestr); err == nil {
|
||||
return t, nil
|
||||
} else {
|
||||
u.Error(err)
|
||||
}
|
||||
} else if len(datestr) == len(time.RFC3339Nano) {
|
||||
// RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
|
||||
if t, err := time.Parse(time.RFC3339Nano, datestr); err == nil {
|
||||
return t, nil
|
||||
} else {
|
||||
u.Error(err)
|
||||
}
|
||||
}
|
||||
case f.Has(HAS_DASH) && !f.Has(HAS_SLASH):
|
||||
switch {
|
||||
case f.Has(HAS_WHITESPACE) && f.Has(HAS_COLON):
|
||||
|
||||
Reference in New Issue
Block a user