Summarized for those who don’t like long texts first
What is Chronos?
A high level library to deal with date, time, duration and intervals.
Providing an interface for multiple calendary systems.
Where do I find Chronos?
On rubyforge: http://rubyforge.org/projects/chronos
On github: http://github.com/apeiros/chronos
Beware: I released it by deadline. This means it is a prerelease and
several things are still non-functional. I only released it now already
to gather input and rally help.
What help do you need?
- I need to know what behaviour you expect in certain ambiguous
situations, see NOTES.rdoc for some of those cases.
- Translations to other languages, I can do en_U, de_DE, de_CH and
de_AT. But for pretty much all others I need contributions
- Calendary systems: I did Gregorian and probably will also do Julian
(as it’s just a simpler version of Gregorian), but for all other
calendary systems, I will need contributions (e.g. chinese, hebrew and
discordian calendary systems - there are most certainly more)
- Documentation: please read the docs and tell me where they are unclear
and how one could improve them. Even more appreciated: write
- Specs: add specs, the more the better.
Under what condition do you accept contributions?
They all have to be made available under the ruby license. If you
contribute, you do agree to this condition. I can’t have chronos be
fractured into multiple licenses depending on which author wrote a
piece. I hope you can understand that.
Also chronos is not design by committee. While I’m open for suggestions
and arguments (preferably via #ruby-lang on IRC, or if necessary in a
separate channel) I will have the last word on design questions.
Anything else I should know?
Yes. Please read the files in dev/, also README.rdoc and NOTES.rdoc. Be
aware that the library is currently under active refactoring and some of
the notes and actual implementation might not match up.
Also please use rubyforge’s bugtracker and feature-request tracker to
submit bugs and feature requests. This makes it easier for me to track
And now the long text:
For a long time I struggled with Time, Date and DateTime. All of them
fall short in several regards. For that reason I started the chronos
project. Its aim was to provide a comprehensive solution for
Date/Time/Duration/Interval related problems with a better interface and
Unfortunately the nature of Date and Time (at least in the gregorian
calendary system) is rather irregular and no matter how you solve a
problem, you will always break some peoples expectations.
This is one reason I need help. I need to know what people other than
myself expect in ambiguous situations. Also my approach with chronos is
to have some calendary system agnostic classes. Those can be subclassed
by calendary system aware classes to provide support for those
calendars. I can’t (knowledge- and timewise) implement any other
calendary system than Gregorian and Julian. So I need help to add other
Also since I’m doing this project in my spare time (of which I no longer
have too much unfortunately) I need help with other aspects of the
project. Documentation, spec-writing, debugging, adding features.
I hope there are more people who are dissatisfied by what Time, Date and
DateTime provide and help to bring this project to fruition.