Path: TODO.rdoc
Last Update: Sun Aug 24 19:11:44 +0200 2008


  • Datetime with timezones having positive offsets picoseconds becomes negative and days & overflow are wrong



  • Validate Datetime API
  • Refactor Interval (Gregorian)
  • Test rake tasks and temporarly remove non-working or fix
  • Complete specs
  • Complete minimal docs

Low priority

  • Verify all rake tasks
  • Fix gem rake task (must validate manifest and version)
  • Rake task to help localization
  • Spec to test completeness of localizations
  • Write extensive parsing suite, there should be 4 kinds of parsers:
    • Extremely strict format specific parsers, such as Chronos::Datetime::Gregorian::iso8601 which parses only and only iso8601 compliant strings and raises if it fails.
    • User defined strict parsers which use a Parser::Format (or a string which the parser method converts to a Parser::Format instance) to determine the parsing rules which raise if they fail to match.
    • Strict automatic parser Classname::parse, which tries predetermined formats and raises if it fails to consume the whole string.
    • Lax automatic parser (no name yet, maybe just a switch to ::parse) which do "as good as possible" matching and conversion and defaultize whatever is missing and never raise.
  • Write extensive format suite with proper localization
    • Localize words (‘month’, ‘months’, …)
    • Localize numerics (‘one’, ‘two’, …)
    • Localize entities (‘January’, …, ‘Monday’, …)
    • Localize format (mm/dd/YYYY,, …)
  • Lazy loading of strings/parsers/formatters
  • chronos/replace/time - Allow Chronos::Datetime::Gregorian to act as a Time drop-in
  • chronos/replace/date - Allow Chronos::Datetime::Gregorian to act as a Date drop-in
  • chronos/compat/time - Allow Chronos::Duration::Gregorian to work seamlessly with Time
  • chronos/compat/date - Allow Chronos::Duration::Gregorian to work seamlessly with Date
  • Import Scheduler
  • Handle recurring
  • Natural language parsers
  • Extractors (extract datetimes, intervals and durations from plaintext)
  • Improve formatters
  • Add other calendary systems
    • Chinese
    • Jewish
    • Indian
    • Julian
    • Discordian
  • Full documentation, including guides/howtos/caveeats


  • DateTime#strftime("%Z") does not indicate if it‘s in a timezone with active DST or not, so importing a DateTime and importing a Time will give different results.
  • Freeze datetime/duration/interval


All changes to the source MUST NOT violate any of the following statements:

  • Multiple calendar systems can be used at the same time
  • If a single calendar system is used, (almost) all of the complexity of supporting multiple calendars is hidden
  • Chronos is multilingual