class_docstr: An "ambiguous" datetime object. This object acts like a
  ``datetime.datetime`` object but can have any of its attributes set to
  None, meaning unspecified.
code: def __init__(
      self,
      year=None,
      month=None,
      day=None,
      hour=None,
      minute=None,
      second=None,
      microsecond=None,
  ):
      if isinstance(year, datetime):
          dt = year
          self.year, self.month, self.day = dt.year, dt.month, dt.day
          self.hour, self.minute, self.second = (
              dt.hour,
              dt.minute,
              dt.second,
          )
          self.microsecond = dt.microsecond
      else:
          if month is not None and (month < 1 or month > 12):
              raise TimeError("month must be in 1..12")
  
          if day is not None and day < 1:
              raise TimeError("day must be greater than 1")
          if (
              year is not None
              and month is not None
              and day is not None
              and day > calendar.monthrange(year, month)[1]
          ):
              raise TimeError("day is out of range for month")
  
          if hour is not None and (hour < 0 or hour > 23):
              raise TimeError("hour must be in 0..23")
          if minute is not None and (minute < 0 or minute > 59):
              raise TimeError("minute must be in 0..59")
          if second is not None and (second < 0 or second > 59):
              raise TimeError("second must be in 0..59")
          if microsecond is not None and (
              microsecond < 0 or microsecond > 999999
          ):
              raise TimeError("microsecond must be in 0..999999")
  
          self.year, self.month, self.day = year, month, day
          self.hour, self.minute, self.second = hour, minute, second
          self.microsecond = microsecond
  
imports: import calendar
  import copy
  from datetime import date, datetime, timedelta
  from whoosh.compat import iteritems
label_desc: Use image node_id 1 to create a new adatetime object from inherited base classes: object with example: obj = adatetime(year, month, day, hour, minute, second, microsecond)