handle not only strings in date type cast
fix subclass override not renamed with e2d19d60.
if a date is assigned to a timezone-aware time attribute, interpret it the same way the string of it would be
if a date is assigned to a timezone-unaware time attribute, interpret it the same way the string of it would be