I'm trying to figure out how to allow
for incomplete year/month/day, year/week/day, 
or year/day in DT::I.

One way is to have a separate implementation
for each case:

DateTime::Incomplete 

  year / set_year
  month / set_month
  day / set_day

DateTime::Incomplete::YearWeekDay

  week_year / set_week_year
  week_number / set_week_number
  day_of_week / set_day_of_week

DateTime::Incomplete::YearDay 

  year / set_year
  day_of_year / set_day_of_year

DateTime::Incomplete::Agnostic - base class

  to_datetime
  next / previous / etc.

Another approach: the API would remember what 
methods were called, and adjust to that:
if you called "set_week_number", then it is 
an error if you call "set_month".

- Flavio S. Glock


Reply via email to