tools for representing periods of time and formatting/parsing