Formatting a date/time returned from a custom $wpdb query

A much simpler method to bypass these issues is using WP_Query:

$popularQuery = array('orderby' => 'comment_count', 'posts_per_page' => '-1', 'author' => 1);
$popularPosts = new WP_Query($popularQuery);
while($popularPosts->have_posts()) : $popularPosts->the_post();
?>
    <tr>
        <td><a href="https://wordpress.stackexchange.com/questions/23820/<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
        <td><?php the_author(); ?></td>
        <td><?php the_time('j M Y h:i A') ?></td>
        <td><?php comments_number(); ?></td>
    </tr>
<?php
endwhile;

Also note I’ve replaced your use of guid with the permalink. In some scenarios the guid of a post will not actually be the permalink, so this should never be assumed. The only exception to this is attachments.

and <?= should be <?php