code: def get_duration_h_m(start: Union[str, DateTime],
                       end: Union[str, DateTime],
                       default: str = "N/A") -> str:
      
      start = coerce_to_pendulum(start)
      end = coerce_to_pendulum(end)
      if start is None or end is None:
          return default
      duration = end - start
      minutes = duration.in_minutes()
      (hours, minutes) = divmod(minutes, 60)
      if hours < 0:
          # negative... trickier
          # Python's divmod does interesting things with negative numbers:
          # Hours will be negative, and minutes always positive
          hours += 1
          minutes = 60 - minutes
          return "-{}:{}".format(hours, "00" if minutes == 0 else minutes)
      else:
          return "{}:{}".format(hours, "00" if minutes == 0 else minutes)
docs: Calculate the time between two dates/times expressed as strings.
  
      Args:
          start: start date/time
          end: end date/time
          default: string value to return in case either of the inputs is
              ``None``
  
      Returns:
          a string that is one of
  
          .. code-block:
  
              'hh:mm'
              '-hh:mm'
              default