Valid ISO8601 and RFC3339 date string discarded as invalid

Hi there @jphwang nice to hear from you!

Now all works well.

As so many other things about Weaviate the way you define the server may influence the way you declare a collection and this will definitely impact on the way you insert and query your object’s properties.

In my case now isoEditionDate is declared as DATE,

        wvcc.Property(
            name="isoEditionDate",
            data_type=wvcc.DataType.DATE,  # DATE for RFC3339 ISO8601 date
            skip_vectorization=True,
        ),

when I insert the data I make sure that whatever is passed is converted to an ISO8601/RFC3339 fulll format datetime value including the timezone info:

document["isoEditionDate"] = rome_tz.localize(
            datetime.strptime(mdb_document["isoEditionDate"], "%Y-%m-%d")
        )

and lastly the filters take this into account (and by virtue of complex but poweful pydantic declarations I check that the input dates are valid and that fromDate is always <= toDate.

Thanks to all of you guys, you rock!

1 Like