code: def to_microseconds(value):
      
      if not value.tzinfo:
          value = value.replace(tzinfo=pytz.utc)
      # Regardless of what timezone is on the value, convert it to UTC.
      value = value.astimezone(pytz.utc)
      # Convert the datetime to a microsecond timestamp.
      return int(calendar.timegm(value.timetuple()) * 1e6) + value.microsecond
docs: Convert a datetime to microseconds since the unix epoch.
  
      Args:
          value (datetime.datetime): The datetime to covert.
  
      Returns:
          int: Microseconds since the unix epoch.