Auto Expire/Delete Custom Post Type Posts after specified time

Ok, so it looks like you’re having a problem with the publish time being a unix timestamp, but your current time is not, it’s just returning the hours.

$publish_time = get_the_time('U'); // Returns our $publish time as a Unix timestamp
$delete_time = $publish_time + 43200; // 60 sec * 60 min * 12 hrs = 43,200 sec
$current_time = time(); // time is a the current time in a Unix timestamp

if ( $current_time >= $delete_time ) {
    wp_delete_post(get_the_ID(), true);
}