@@ -95,6 +95,8 @@ const (
9595 dateAlphaSlashDigitSlash
9696 dateWeekdayComma
9797 dateWeekdayAbbrevComma
98+ dateYearWs
99+ dateYearWsMonthWs
98100)
99101const (
100102 // Time state
@@ -426,7 +428,15 @@ iterRunes:
426428 // 02 Jan 2018 23:59:34
427429 // 12 Feb 2006, 19:17
428430 // 12 Feb 2006, 19:17:22
429- if i == 6 {
431+ // 2013 Jan 06 15:04:05
432+ if i == 4 {
433+ p .yearlen = i
434+ p .moi = i + 1
435+ if ! p .setYear () {
436+ return p , unknownErr (datestr )
437+ }
438+ p .stateDate = dateYearWs
439+ } else if i == 6 {
430440 p .stateDate = dateDigitSt
431441 } else {
432442 p .stateDate = dateDigitWs
@@ -795,6 +805,45 @@ iterRunes:
795805 }
796806 break iterRunes
797807 }
808+
809+ case dateYearWs :
810+ // 2013 Jan 06 15:04:05
811+ // 2013 January 06 15:04:05
812+ if r == ' ' {
813+ p .molen = i - p .moi
814+ // Must be a valid short or long month
815+ if p .molen == 3 {
816+ p .set (p .moi , "Jan" )
817+ p .dayi = i + 1
818+ p .stateDate = dateYearWsMonthWs
819+ } else {
820+ possibleFullMonth := strings .ToLower (p .datestr [p .moi :(p .moi + p .molen )])
821+ if i > 3 && isMonthFull (possibleFullMonth ) {
822+ p .fullMonth = possibleFullMonth
823+ p .dayi = i + 1
824+ p .stateDate = dateYearWsMonthWs
825+ } else {
826+ return p , unknownErr (datestr )
827+ }
828+ }
829+ }
830+ case dateYearWsMonthWs :
831+ // 2013 Jan 06 15:04:05
832+ // 2013 January 06 15:04:05
833+ switch r {
834+ case ',' :
835+ p .daylen = i - p .dayi
836+ p .setDay ()
837+ i ++
838+ p .stateTime = timeStart
839+ break iterRunes
840+ case ' ' :
841+ p .daylen = i - p .dayi
842+ p .setDay ()
843+ p .stateTime = timeStart
844+ break iterRunes
845+ }
846+
798847 case dateDigitChineseYear :
799848 // dateDigitChineseYear
800849 // 2014年04月08日
@@ -2142,6 +2191,11 @@ iterRunes:
21422191 // Mon, 02 Jan 2006 15:04:05 MST
21432192 return p , nil
21442193
2194+ case dateYearWsMonthWs :
2195+ // 2013 May 02 11:37:55
2196+ // 2013 December 02 11:37:55
2197+ return p , nil
2198+
21452199 }
21462200
21472201 return p , unknownErr (datestr )
0 commit comments