From 33e27c66a07c163dd07db718246f494818baae65 Mon Sep 17 00:00:00 2001 From: kolaente Date: Fri, 11 Nov 2022 11:05:21 +0100 Subject: [PATCH] fix(filters): try parsing invalid dates like 2022-11-1 --- pkg/models/task_collection_filter.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkg/models/task_collection_filter.go b/pkg/models/task_collection_filter.go index eb7fef9977..4a4dd1ccc1 100644 --- a/pkg/models/task_collection_filter.go +++ b/pkg/models/task_collection_filter.go @@ -64,6 +64,27 @@ func parseTimeFromUserInput(timeString string) (value time.Time, err error) { if err != nil { value, err = time.Parse(safariDate, timeString) } + if err != nil { + // Here we assume a date like 2022-11-1 and try to parse it manually + parts := strings.Split(timeString, "-") + if len(parts) < 3 { + return + } + year, err := strconv.Atoi(parts[0]) + if err != nil { + return value, err + } + month, err := strconv.Atoi(parts[1]) + if err != nil { + return value, err + } + day, err := strconv.Atoi(parts[2]) + if err != nil { + return value, err + } + value = time.Date(year, time.Month(month), day, 0, 0, 0, 0, time.UTC) + return value.In(config.GetTimeZone()), nil + } return value.In(config.GetTimeZone()), err }