code: def timestamp_from_datetime(dt):
      
      if dt is None:
          raise ValueError("datetime value must not be None.")
      if dt.tzinfo is None:
          # Apply default timezone to the timezone-naive input
          dt = pytz.utc.localize(dt)
      epoch_seconds = (dt - _EPOCH_DT).total_seconds()
      ts = int(epoch_seconds * 1000)
      return ts
docs: Convert a :class:`~py:datetime.datetime` object into an
      :term:`HMC timestamp number <timestamp>`.
  
      The date and time range supported by this function has the following
      bounds:
  
      * The upper bounds is :attr:`py:datetime.datetime.max`, as follows:
  
        * 9999-12-31 23:59:59 UTC, for 32-bit and 64-bit CPython on Linux and
          OS-X.
        * 2038-01-19 03:14:07 UTC, for some 32-bit Python implementations,
          due to the `Year 2038 problem
          <https://en.wikipedia.org/wiki/Year_2038_problem>`_.
  
      * The lower bounds is the UNIX epoch: 1970-01-01 00:00:00 UTC.
  
      Parameters:
  
        dt (:class:`~py:datetime.datetime`):
          Point in time as a Python datetime object. The datetime object may be
          timezone-aware or timezone-naive. If timezone-naive, the UTC timezone
          is assumed.
  
          Must not be `None`.
  
      Returns:
  
        :term:`timestamp`:
          Point in time as an HMC timestamp number.
  
      Raises:
          ValueError