How can I wrap html around the output of the_time function?

Please see this documentation for the usage about the_time(). You are not supposed to add html inside the parameter of the_time(). (edit: use get_the_time() with in string concatenation)

To solve this, try this code:

echo '<div class="post_date"><div class="month">'.get_the_time('F').'</div>'.'<div class="day">'.get_the_time('d').'</div><div class="year">'.get_the_time('Y').'</div></div>';

edit: corrected to the use of get_the_time()