I feel a bit silly for this one, but is there a more elegant way to format the day number suffix (st, th) other than by having to call the date() 3 times?
What I am trying to output in html:
<p>January, 1<sup>st</sup>, 2011</p>
What I am doing now (feels very heavy) in php:
//I am omitting the <p> tags:
echo date('M j',$timestamp)
. '<sup>' . date('S', $timestamp) . '</sup>'
. date(' Y', $timestamp);
Anyone knows a better way?
PHP date() Function The PHP date function is used to format a date or time into a human readable format. It can be used to display the date of article was published. record the last updated a data in a database.
date_default_timezone_set('UTC'); echo "<strong>Display current date dd/mm/yyyy format </strong>". "<br />"; echo date("d/m/Y"). "<br />"; echo "<strong>Display current date mm/dd/yyyy format</strong> "."<br />"; echo date("m/d/Y")."<br />"; echo "<strong>Display current date mm-dd-yyyy format </strong>".
Use strtotime() function to get the first day of week using PHP. This function returns the default time variable timestamp and then use date() function to convert timestamp date into understandable date. strtotime() Function: The strtotime() function returns the result in timestamp by parsing the time string.
php $date = "2022-08-12"; // Add days to date and display it echo date('Y-m-d', strtotime($date. ' +10 days')); // 2022-08-22 echo date('Y-m-d', strtotime(date('Y-m-d'). ' +1 days')); // 2022-08-23 echo date('Y-m-d', strtotime(date('Y-m-d'). ' +1 months')); // 2022-09-12 echo date('Y-m-d', strtotime(date('Y-m-d').
You just have to escape characters that are interpreted by the date function.
echo date('M j<\sup>S</\sup> Y'); // < PHP 5.2.2
echo date('M j<\s\up>S</\s\up> Y'); // >= PHP 5.2.2
At PHP date documentation you have a list with all characters replaced by their special meaning.
This worked for me:
echo date('M j\<\s\u\p\>S\<\/\s\u\p\> Y', $timestamp);
I believe the date
function allows you to put in any string that you want, provided that you escape all format characters.
echo date('M j<\s\up>S<\/\s\up> Y', $timestamp);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With