When is the first day of winter?     When is the first day of spring?     When is the first day of summer?     When is the first day of fall?

/* Times and Dates defined for 2018 and 2019 */

Winter in 302 days. 37 days have sprung.
56 days to Summer. Fall will fall in 150 days.
PineyWoodStock in 121 days.
Soul Fix in -7 or 2022 days.


5, 3


<?
$Today      
getdate();
$Year       date('Y');
$Thur       date('n, j'strtotime('next Thursday'));
$winter     mktime(172201221$Year) - time();
$spring     mktime(12150320$Year) - time();
$summer     mktime(670621$Year) - time();
$fall       mktime(21540923$Year) - time();
$nextwinter mktime(231901221, ($Year 1)) - time();
$nextspring mktime(17580320, ($Year 1)) - time();
$nextsummer mktime(11540621, ($Year 1)) - time();
$nextfall   mktime(21540923, ($Year 1)) - time();
$PineWood   mktime(12540825$Year) - time();
$SoulFix1   mktime(20210419$Year) - time();
$SoulFix2   mktime(20210$Thur$Year) - time();

if(
$winter 0) { echo  "<p>"round($winter/60/60/24) . " days of Winter.";
  } else { echo 
"<p>Winter in " round(($nextwinter/60/60/24) / 20PHP_ROUND_HALF_EVEN) . " days."; }
if(
$spring 0) { echo " " . (round($spring/60/60/24)) . " days have sprung.";
  } else { echo 
" In " round(($nextspring/60/60/24) / 20PHP_ROUND_HALF_EVEN) . " days Spring will spring."; }
if(
$summer 0) { echo "<br>Summer day " . (round($summer/60/60/24));
  } else { echo 
"<br>" round($summer/60/60/24) . " days to Summer."; }
if(
$fall 0)   { echo " Fall has fallen " . (round($fall/60/60/24)) . " times.";
  } else { echo 
" Fall will fall in " round($fall/60/60/24) . " days."; }
echo 
"<br>PineyWoodStock in " round($PineWood/60/60/24) . " days.";
echo 
"<br>Soul Fix in " round($SoulFix1/60/60/24) . " or " round($SoulFix2/60/60/24) . " days.</p>";
echo 
"<br>" $Thur;
?>