From b13c7e328a7d206e153f8f305bc9b0c034c33799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Sat, 24 Jun 2023 15:21:09 -0700 Subject: [PATCH] Improve date parser to handle various broken date formats --- reader/date/parser.go | 8 ++++++++ reader/date/parser_test.go | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/reader/date/parser.go b/reader/date/parser.go index a0488ef4..f00b28eb 100644 --- a/reader/date/parser.go +++ b/reader/date/parser.go @@ -211,6 +211,14 @@ var dateFormats = []string{ "Jan. 2, 2006, 03:04 p.m.", "2006-01-02 15:04:05 -07:00", "2 January, 2006", + "2 Jan 2006 MST", + "Mon, January 2, 2006 at 03:04 PM MST", + "Jan 2, 2006 15:04 MST", + "01/02/2006 3:04 pm MST", + "Mon, 2th Jan 2006 15:04:05 MST", + "Mon, 2rd Jan 2006 15:04:05 MST", + "Mon, 2nd Jan 2006 15:04:05 MST", + "Mon, 2st Jan 2006 15:04:05 MST", } var invalidTimezoneReplacer = strings.NewReplacer( diff --git a/reader/date/parser_test.go b/reader/date/parser_test.go index aa0850a2..2c4a02c5 100644 --- a/reader/date/parser_test.go +++ b/reader/date/parser_test.go @@ -179,6 +179,12 @@ func TestParseWeirdDateFormat(t *testing.T) { "mar., 01 déc. 2020 16:11:02 +0000", "Thurs, 15 Oct 2020 00:00:39 +0000", "Thur, 19 Nov 2020 00:00:39 +0000", + "26 Sep 2022 GMT", + "Thu, June 22, 2023 at 01:11 PM EDT", + "Apr 16, 2023 08:01 GMT", + "Jun 23, 2023 19:00 GMT", + "09/15/2014 4:20 pm PST", + "Fri, 23rd Jun 2023 09:32:20 GMT", } for _, date := range dates {