diff --git a/str.go b/str.go index daf4067..d1203dd 100644 --- a/str.go +++ b/str.go @@ -360,7 +360,7 @@ func StrToDatesInLoc(str string, defaultLoc *time.Location) (ts []time.Time, err for _, param := range params { if strings.HasPrefix(param, "TZID=") { loc, err = parseTZID(param) - } else if param != "VALUE=DATE-TIME" { + } else if param != "VALUE=DATE-TIME" && param != "VALUE=DATE" { err = fmt.Errorf("unsupported: %v", param) } if err != nil { diff --git a/str_test.go b/str_test.go index 8619949..e62c275 100644 --- a/str_test.go +++ b/str_test.go @@ -321,6 +321,20 @@ func TestSetParseLocalTimes(t *testing.T) { }) } +func TestRDateValueDateStr(t *testing.T) { + input := []string{ + "RDATE;VALUE=DATE:20180223", + } + s, err := StrSliceToRRuleSet(input) + if err != nil { + t.Error(err) + } + d := s.GetRDate()[0] + if !d.Equal(time.Date(2018, 02, 23, 0, 0, 0, 0, time.UTC)) { + t.Error("Bad time parsed: ", d) + } +} + // Helper for TestRFCSetStr and TestSetStr func assertRulesMatch(set *Set, t *testing.T) { // matching parsed RRules