def aggregationDivide(dividend, divisor):
<EOL>dividendMonthSec = aggregationToMonthsSeconds(dividend)<EOL>divisorMonthSec = aggregationToMonthsSeconds(divisor)<EOL>if (dividendMonthSec['<STR_LIT>'] != <NUM_LIT:0> and divisorMonthSec['<STR_LIT>'] != <NUM_LIT:0>)or (dividendMonthSec['<STR_LIT>'] != <NUM_LIT:0> and divisorMonthSec['<STR_LIT>'] != <NUM_LIT:0>):<EOL><INDENT>raise RuntimeError("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>if dividendMonthSec['<STR_LIT>'] > <NUM_LIT:0>:<EOL><INDENT>return float(dividendMonthSec['<STR_LIT>']) / divisor['<STR_LIT>']<EOL><DEDENT>else:<EOL><INDENT>return float(dividendMonthSec['<STR_LIT>']) / divisorMonthSec['<STR_LIT>']<EOL><DEDENT>
Return the result from dividing two dicts that represent date and time.

Both dividend and divisor are dicts that contain one or more of the following
keys: 'years', 'months', 'weeks', 'days', 'hours', 'minutes', seconds',
'milliseconds', 'microseconds'.

For example:

::

  aggregationDivide({'hours': 4}, {'minutes': 15}) == 16

:param dividend: (dict) The numerator, as a dict representing a date and time
:param divisor: (dict) the denominator, as a dict representing a date and time
:returns: (float) number of times divisor goes into dividend