Simply query for the latest post and compare IDs:
function wpse110867_is_latest_post( $post_id, $query_args = array() ){
static $latest_post_id = false;
$post_id = empty( $post_id ) ? get_the_ID() : $post_id ;
if( !$latest_post_id ){
$query_args['numberposts'] = 1;
$query_args['post_status'] = 'publish';
$last = wp_get_recent_posts( $query_args );
$latest_post_id = $last['0']['ID'];
}
return $latest_post_id == $post_id;
}
Example Usage
In the main query:
if( wpse110867_is_latest_post() ){
echo 'This is the latest post';
}
To find the last post of a particular post type:
if( wpse110867_is_latest_post( get_the_ID(), array( 'post_type' => 'my-post-type' ) ){
echo 'This is the latest post';
}