code: def DatetimeWithTZ(msg=None):
      '''
      Checks whether a value is :
          - a valid castable datetime object with timezone.
      '''
      def fn(value):
          try:
              date = parse_datetime(value) or parse_date(value)
              if date is not None:
                  return date
              else:
                  raise ValueError
          except ValueError:
              raise Invalid('<{0}> is not a valid datetime.'.format(value))
      return ff DatetimeWithTZ(msg=None):
      '''
      Checks whether a value is :
          - a valid castable datetime object with timezone.
      '''
      def fn(value):
          try:
              date = parse_datetime(value) or parse_date(value)
              if date is not None:
                  return date
              else:
                  raise ValueError
          except ValueError:
              raise Invalid('<{0}> is not a valid datetime.'.format(value))
      return fn
docs: Checks whether a value is :
          - a valid castable datetime object with timezone.