The fuzzy-date gem provides a way to parse and use incomplete dates, like those found in history or genealogy.
David Cole
MIT