Add granulating the time range

Granulating means splitting the time range into exclusive time
ranges of years, months, days and whatever is left.
Since we already have reader methods, why don't use them?