handle negative diff in hour-decimal