php date('d') calculates same output for two consecutive days

wigemaidway

New Member
I'm building a calendar through PHP and the way I'm doing this results on some days being written twice.I replicated the behaviour in this little script:\[code\]<?php//// define a date to start from//$d = 26;$m = 10;$y = 2013;date_default_timezone_set('CET');$time = mktime(0, 0, 0, $m, $d, $y);//// calculate 10 years//for($i=0;$i<3650;$i++){ $tomorrowTime = $time + (60 * 60 * 24); // // echo date if the next day has the same date('d') result // if(date('d',$time)==date('d',$tomorrowTime)){ echo date('d-m-Y',$time)." was calculated twice... \n"; } $time = $tomorrowTime;}?>\[/code\]This is what I get:\[code\]27-10-2013 was calculated twice... 26-10-2014 was calculated twice... 25-10-2015 was calculated twice... 30-10-2016 was calculated twice... 29-10-2017 was calculated twice... 28-10-2018 was calculated twice... 27-10-2019 was calculated twice... 25-10-2020 was calculated twice... 31-10-2021 was calculated twice... 30-10-2022 was calculated twice... \[/code\]When I define \[code\]$time\[/code\] as \[code\]0 (unix epoch)\[/code\], I don't get the same behaviour.Is there something wrong with using \[code\]mktime()\[/code\]?Or is november just being a twat?Cheers,Jeroen
 
Top