code: def _get_date(data, position, dummy, opts):
      
      end = position + 8
      millis = _UNPACK_LONG(data[position:end])[0]
      diff = ((millis % 1000) + 1000) % 1000
      seconds = (millis - diff) / 1000
      micros = diff * 1000
      if opts.tz_aware:
          return EPOCH_AWARE + datetime.timedelta(
              seconds=seconds, microseconds=micros), end
      else:
          return EPOCH_NAIVE + datetime.timedelta(
              seconds=seconds, microseconds=micros), end
docs: Decode a BSON datetime to python datetime.datetime.