code: def isoformat(self, strict=False):
          '''Return date in isoformat (same as __str__ but without qualifier).
  
          WARNING: does not replace '?' in dates unless strict=True.
          '''
          out = self.year
          # what do we do when no year ...
          for val in [self.month, self.day]:
              if not val:
                  break
              out += u'-' + val
          if strict:
              out = out.replace('?', '0')
  
          if self.hour:
              out += u' '
              out += self.hour
              for val in [self.minute, self.second]:
                  if not val:
                      break
                  out += u':' + val
              if self.microsecond:
                  out += u'.' + self.microsecond
          return ouf isoformat(self, strict=False):
          '''Return date in isoformat (same as __str__ but without qualifier).
  
          WARNING: does not replace '?' in dates unless strict=True.
          '''
          out = self.year
          # what do we do when no year ...
          for val in [self.month, self.day]:
              if not val:
                  break
              out += u'-' + val
          if strict:
              out = out.replace('?', '0')
  
          if self.hour:
              out += u' '
              out += self.hour
              for val in [self.minute, self.second]:
                  if not val:
                      break
                  out += u':' + val
              if self.microsecond:
                  out += u'.' + self.microsecond
          return out
docs: Return date in isoformat (same as __str__ but without qualifier).
  
          WARNING: does not replace '?' in dates unless strict=True.