zip::DateTime does not hold a time zone. So I think it is better to use time::PrimitiveDateTime, which does not hold a time zone, rather than time::OffsetDateTime, which holds a time zone. If necessary, we can convert PrimitiveDateTime to OffsetDateTime using a method such as assume_utc.
Also, this crate uses chrono::NaiveDateTime instead of chrono::DateTime<chrono::Utc>.