Compare the post_date
with the current time and then test if the difference is greater than one day:
is_admin() or add_action( 'the_post', function( $post ) {
if ( ! is_singular() or ! is_main_query() )
return;
// now minus last mod time in seconds
$diff = time() - mysql2date( 'U', $post->post_date );
if ( DAY_IN_SECONDS >= $diff )
return;
$post->post_date = current_time( 'mysql' );
$post->post_date_gmt="";
wp_update_post( $post );
});