I have this PHP code:
$monthNum = sprintf("%02s", $result["month"]); $monthName = date("F", strtotime($monthNum)); echo $monthName;
But it's returning
December rather than
$result["month"] is equal to 8, so the
sprintf function is adding a
0 to make it
The recommended way to do this:
Nowadays, you should really be using DateTime objects for any date/time math. This requires you to have a PHP version >= 5.2. As shown in Glavi?'s answer, you can use the following:
!formatting character is used to reset everything to the Unix epoch. The
mformat character is the numeric representation of a month, with leading zeroes.
If you're using an older PHP version and can't upgrade at the moment, you could this solution. The second parameter of
date()function accepts a timestamp, and you could use
mktime()to create one, like so:
If you want the 3-letter month name like
M. The list of all available formatting options can be found in the PHP manual documentation.