require 'date' and 'time' only at one place
ensure only Time objects are passed from TimeSpan
extract method
code cleanup