Yes, if changing the_date();
to echo get_the_date();
. It will display the date individually.
Because the_date() have a checking of same date or not. If it is the same date as previous post, it will output nothing. So by manually doing the output with get_the_date(), it will by pass the checking.
<div class="container-fluid p-0" id="news">
<div class="row m-0">
<?php $news = new WP_Query( array( 'post_type' => 'post', 'category' => 'news', 'posts_per_page' => 6 ) ); ?>
<?php if( $news->have_posts() ): while( $news->have_posts() ): $news->the_post(); ?>
<div class="col-sm-12 col-md-4 col-lg-4 text-center p-0">
<a class="text-decoration-none text-white stretched-link" href="https://wordpress.stackexchange.com/questions/365877/<?php the_permalink(); ?>">
<img class="img-fluid w-100 h-100" src="<?php the_post_thumbnail_url(); ?>">
<div class="card-img-overlay">
<p><?php echo get_the_date(); ?></p>
<h4 class=""><?php the_title(); ?></h4>
<h4 class="btn btn-outline-light text-uppercase rounded-0"><?php _e('Leggi'); ?></h4>
</div>
</a>
<div class="overlay position-absolute"></div>
</div>
<?php endwhile; endif; wp_reset_postdata(); ?>
</div>
</div>