docs: def offset(self, mjd, new_scale, eop):
          """Compute the offset necessary in order to convert from one time-scale to another
  
          Args:
              mjd (float):
              new_scale (str): Name of the desired scale
          Return:
              float: offset to apply in seconds
          """
  
          delta = 0
          for one, two in self.steps(new_scale):
              one = one.name.lower()
              two = two.name.lower()
              # find the operation
              oper = "_scale_{}_minus_{}".format(two, one)
              # find the reverse operation
              roper = "_scale_{}_minus_{}".format(one, two)
              if hasattr(self, oper):
                  delta += getattr(self, oper)(mjd, eop)
              elif hasattr(self, roper):
                  delta -= getattr(self, roper)(mjd, eop)
              else:  # pragma: no cover
                  raise DateError("Unknown convertion {} => {}".format(one, two))
  
          return delta