I was trying to make my own php mktime();
using my default timezone *(America/Sao_Paulo)*.
It was working ok, but I noticed that some timestamps had one hour more than it should be.
So I tracked down and find out this date where the script starts to miss: 03/November/1985
I ran some tests and for some weird reason (that's what I'm trying to understand), this day have only 23 hours!
Check it:
<?php
date_default_timezone_set('America/Sao_Paulo');
//shows 23
echo (mktime(0,0,0,11,03,1985)- mktime(0,0,0,11,02,1985))/3600;
//any other date, shows 24
echo '<br/>'.(mktime(0,0,0,11,3,2000)-mktime(0,0,0,11,2,2000))/3600;
?>
Notice that it doesn't occurs with timezone UTC. It's a possible bug?
PS: Sorry for english mistakes.