Some kind of magic happens ...
I pull date from mysql,
UNIX_TIMESTAMP(users.birthday) as birthday and bring out
  date("dmY",$row['birthday']) So, all dates starting from April 1, 2002 are shown normally, and March 31, 2002 is shown as March 30, and all previous dates are also shown one day less.
Tried to use both date, and timespamp. What is zanah?