Description 
 Will only output the date if the current post’s date is different from the previous one output.
 i.e. Only one date listing will show per day worth of posts shown in the loop, even if the function is called several times for each post.
 HTML output can be filtered with ‘the_date’. Date string output can be filtered with ‘get_the_date’.
    Parameters 
  - $format
-   (string) (Optional)  PHP date format defaults to the date_format option if not specified.  Default value: '' 
- $before
-   (string) (Optional)  Output before the date.  Default value: '' 
- $after
-   (string) (Optional)  Output after the date.  Default value: '' 
- $echo
-   (bool) (Optional)  Whether to echo the date or return it.   Default value: true 
Return 
 (string|void) String if retrieving.
    Source 
  File: wp-includes/general-template.php 
 function the_date( $format = '', $before = '', $after = '', $echo = true ) {
	global $currentday, $previousday;
	$the_date = '';
	if ( is_new_day() ) {
		$the_date    = $before . get_the_date( $format ) . $after;
		$previousday = $currentday;
	}
	/**
	 * Filters the date a post was published for display.
	 *
	 * @since 0.71
	 *
	 * @param string $the_date The formatted date string.
	 * @param string $format   PHP date format. Defaults to 'date_format' option
	 *                         if not specified.
	 * @param string $before   HTML output before the date.
	 * @param string $after    HTML output after the date.
	 */
	$the_date = apply_filters( 'the_date', $the_date, $format, $before, $after );
	if ( $echo ) {
		echo $the_date;
	} else {
		return $the_date;
	}
}       Changelog 
     | Version | Description | 
    | 0.71 | Introduced. |