Philip Kime wrote: >Just to clarify further, DateTime::Incomplete isn't any use to me as >it doesn't parse dates.
You can't expect a single module to do the whole job. DateTime doesn't parse dates either, that's the job of the DateTime::Format::* modules. DateTime::Incomplete *is* exactly what you need to represent your partial dates; what you're missing is modules to do the parsing, which would logically be DateTime::Incomplete::Format::*, which don't exist yet. > Either the DataTime::Format >modules need to have the option of creating DateTime::Incomplete >objects instead of DateTime objects (an impossible requirements as >there so many DateTime::Format modules) or DateTime needs to provide >methods which retain this information Extending DateTime::Format::* to be able to generate DateTime::Incomplete objects would be the other way to do it. Extending DateTime to cover DateTime::Incomplete's job, however, would be neither necessary nor sufficient: you'd still need DateTime::Format::* extended to pass along information about incompleteness. Unfortunately the parsing modules that you want don't exist yet. Your best bet is probably to extend DateTime::Format::* yourself, to optionally generate DateTime::Incomplete objects. Then you can negotiate about whether your changes should be rolled into the original modules or should be released separately as DateTime::Incomplete::Format::*. -zefram