I am working on a script that will determine when a specific calendar date most recently occurred.
This post, Get the year of a specified month in previous 12 months?, is the basis of my current beta. It was written for a monthly result and not a specific date.
<?php
if (empty($_GET['m'])) {
$m = "October";
} else {
$m = htmlspecialchars($_GET['m']);
}
if (empty($_GET['d'])) {
$d = "1";
} else {
$d = htmlspecialchars($_GET['d']);
}
date_default_timezone_set('America/Los_Angeles');
$m = date('m', strtotime($m));
$c = (mktime(0,0,0,$m,$d) < time())
? mktime(0,0,0,$m,$d)
: mktime(0,0,0,$m,$d,date("Y") -1);
$from = date('F jS', $c) . " last occurred in " . date('Y', $c) . ".";
echo $from;
?>
The result of the default value, October 1 is: "October 1st last occurred in 2012."
For June 11th, as a random example: "June 11th last occurred in 2013."
All date results are TRUE, except for the result for February 29th: "March 1st last occurred in 2013." Obviously, this is a false statement since the desired result is: "February 29th last occurred in 2012."
I'm kind of stuck, what is the best way to add a true leap year result?