def _get_date(data, position, dummy, opts):
    """Decode a BSON datetime to python datetime.datetime."""
    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
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
Decode a BSON datetime to python datetime.datetime.