2
0
mirror of https://github.com/araddon/dateparse.git synced 2025-10-26 16:26:14 +08:00

New date format

This commit is contained in:
Aaron Raddon
2017-02-05 10:04:03 -08:00
parent 2943ab2f5b
commit ebdd2c1b80
3 changed files with 31 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ const (
ST_DIGITSLASHWSCOLON
ST_DIGITSLASHWSCOLONCOLON
ST_DIGITSLASHWSCOLONCOLONAMPM
ST_DIGITALPHA
ST_ALPHA
ST_ALPHAWS
ST_ALPHAWSCOMMA
@@ -85,6 +86,9 @@ iterRunes:
case ST_DIGIT: // starts digits
if unicode.IsDigit(r) {
continue
} else if unicode.IsLetter(r) {
state = ST_DIGITALPHA
continue
}
switch r {
case ',':
@@ -255,6 +259,25 @@ iterRunes:
case 'A', 'P':
state = ST_DIGITSLASHWSCOLONCOLONAMPM
}
case ST_DIGITALPHA:
// 12 Feb 2006, 19:17
// 12 Feb 2006, 19:17:22
switch {
case len(datestr) == len("02 Jan 2006, 15:04"):
if t, err := time.Parse("02 Jan 2006, 15:04", datestr); err == nil {
return t, nil
} else {
return time.Time{}, err
}
case len(datestr) == len("02 Jan 2006, 15:04:05"):
if t, err := time.Parse("02 Jan 2006, 15:04:05", datestr); err == nil {
return t, nil
} else {
return time.Time{}, err
}
default:
//u.LogThrottle(u.WARN, 5, "ST_ALPHAWSALPHA case not found: %v", datestr)
}
case ST_ALPHA: // starts alpha
// May 8, 2009 5:57:51 PM
// Mon Jan _2 15:04:05 2006