calculate nanos
TimeSpan refactoring; negative durations now output with negative values
calculate months