Calculate in_general using year/month/day difference

...instead of calculating by day difference and assuming static values for year to day conversion, etc.

For example, 1 year is not 360 days nor even 365 days. Need to have two dates in context.
Downside is in_general can't be called with values like 5.days that have no date value.