You will need to have Smarty template processing turned on for mailings: make sure CIVICRM_MAIL_SMARTY
is defined in your civicrm.settings.php file, as described in the CiviCRM User Guide.
Then, replace the {contribution.receive_date}
token in your message with Smarty code such as this:
For a date like "26/01/2020" (dd/mm/yyyy):
{capture assign=formattableDateReceived}{contribution.receive_date}{/capture}{capture assign=formatString}%d/%m/%Y{/capture}{$formattableDateReceived|date_format:$formatString}
For a date like "December 7, 2020":
{capture assign=formattableDateReceived}{contribution.receive_date}{/capture}{capture assign=formatString}%B %e, %Y{/capture}{$formattableDateReceived|date_format:$formatString|strip}
For a date like "01/26/2020" (mm/dd/yyyy):
{capture assign=formattableDateReceived}{contribution.receive_date}{/capture}{capture assign=formatString}%m/%d/%Y{/capture}{$formattableDateReceived|date_format:$formatString}
For a date like "1/26/2020" (m/d/yyyy):
{capture assign=formattableDateReceived}{contribution.receive_date}{/capture}{capture assign=formatString}%m/%d/%Y{/capture}{capture assign=mdyCleanupFind}#(^|/)0#{/capture}{capture assign=mdyCleanupReplace}$1{/capture}{$formattableDateReceived|date_format:$formatString|regex_replace:$mdyCleanupFind:$mdyCleanupReplace}
These four examples use Smarty's date_format, strip and regex_replace modifiers. Due to the way that Civi applies Smarty to thank-you letters (as of Civi 5.32), we have to capture the parameters for each of these modifiers in a variable before using them.
The patterns above should work for other date fields as well (receipt_date, cancel_date etc.)