class_docstr: Data representing dates with times.
  
  :param datetime_format:
      A formatting string for :meth:`datetime.datetime.strptime` to use
      instead of using regex-based parsing.
  :param timezone:
      A ``ZoneInfo`` timezone to apply to each parsed date.
  :param locale:
      A locale specification such as :code:`en_US` or :code:`de_DE` to use
      for parsing formatted datetimes.
code: def __init__(
      self, datetime_format=None, timezone=None, locale=None, **kwargs
  ):
      super().__init__(**kwargs)
  
      self.datetime_format = datetime_format
      self.timezone = timezone
      self.locale = locale
  
      now = datetime.datetime.now()
      self._source_time = datetime.datetime(
          now.year, now.month, now.day, 0, 0, 0, 0, None
      )
      self._constants = parsedatetime.Constants(localeID=self.locale)
      self._parser = parsedatetime.Calendar(
          constants=self._constants,
          version=parsedatetime.VERSION_CONTEXT_STYLE,
      )
  
file_path: agate/agate/data_types/date_time.py
imports: import datetime
  import locale
  import isodate
  import parsedatetime
  from agate.data_types.base import DataType
  from agate.exceptions import CastError
label_desc: Use image node_id 1 to create a new DateTime object from inherited base classes: DataType with example: obj = DateTime(datetime_format, timezone, locale)