I haven't seen a more refined way to do it than using Mod() Here are the formulas I use for Days, Hours, and Minutes in a component I built. You can easily extrapolate them to Years, Months, Days.
Days = RoundDown(DateDiff(Component1.StartDate,Component1.TargetDate,Minutes)/1440,0)
Hours = Mod(DateDiff(Component1.StartDate,Component1.TargetDate,Hours),24)
Minutes = Mod(DateDiff(Component1.StartDate,Component1.TargetDate,Minutes),60)