Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 35 additions & 1 deletion parseany.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ const (
dateAlphaPeriodWsDigit
dateWeekdayComma
dateWeekdayAbbrevComma
dateYearWs
dateYearWsMonthWs
)
const (
// Time state
Expand Down Expand Up @@ -388,7 +390,13 @@ iterRunes:
// 02 Jan 2018 23:59:34
// 12 Feb 2006, 19:17
// 12 Feb 2006, 19:17:22
if i == 6 {
// 2013 Jan 06 15:04:05
if i == 4 {
p.yearlen = i
p.moi = i + 1
p.setYear()
p.stateDate = dateYearWs
} else if i == 6 {
p.stateDate = dateDigitSt
} else {
p.stateDate = dateDigitWs
Expand Down Expand Up @@ -704,6 +712,30 @@ iterRunes:
// 18 January 2018
// 8 January 2018

case dateYearWs:
// 2013 Jan 06 15:04:05
if r == ' ' {
p.molen = i - p.moi
p.set(p.moi, "Jan")
p.dayi = i + 1
p.stateDate = dateYearWsMonthWs
}
case dateYearWsMonthWs:
// 2013 Jan 06 15:04:05
switch r {
case ',':
p.daylen = i - p.dayi
p.setDay()
i++
p.stateTime = timeStart
break iterRunes
case ' ':
p.daylen = i - p.dayi
p.setDay()
p.stateTime = timeStart
break iterRunes
}

case dateDigitChineseYear:
// dateDigitChineseYear
// 2014年04月08日
Expand Down Expand Up @@ -1949,6 +1981,8 @@ iterRunes:
// Mon, 02 Jan 2006 15:04:05 MST
return p, nil

case dateYearWsMonthWs:
return p, nil
}

return nil, unknownErr(datestr)
Expand Down
2 changes: 2 additions & 0 deletions parseany_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@ var testInputs = []dateTest{
{in: "07 Feb 2004 09:07", out: "2004-02-07 09:07:00 +0000 UTC"},
{in: "7 Feb 2004 9:7:8", out: "2004-02-07 09:07:08 +0000 UTC"},
{in: "07 Feb 2004 09:07:08.123", out: "2004-02-07 09:07:08.123 +0000 UTC"},
/// yyyy mmm dd https://github.com/araddon/dateparse/issues/141
{in: "2013 May 02 11:37:55", out: "2013-05-02 11:37:55 +0000 UTC"},
// dd-mon-yyyy 12 Feb 2006, 19:17:08 GMT
{in: "07 Feb 2004, 09:07:07 GMT", out: "2004-02-07 09:07:07 +0000 UTC"},
// dd-mon-yyyy 12 Feb 2006, 19:17:08 +0100
Expand Down