Если я запускаю следующее в PHP:
echo mktime (0,0,0,1,1,1970);
Возвращаемое значение равно -3600, а не 0, как я ожидал.
Сервер базируется в Великобритании, в настоящее время он 21 сентября (т.е. летнее время BST) (хотя я не ожидаю, что это повлияет на метку времени эпохи) и для php.info: "Часовой пояс по умолчанию Европа / Лондон".
Установка флага перехода на летнее время также, как показано ниже, дает:
echo mktime (0,0,0,1,1,1970,0); (то есть правильный флаг DST, 0 как 1 января, не DST / BST)
возвращает -3600
echo mktime (0,0,0,1,1,1970,1); (неправильный флаг - установка 1 января в качестве летнего времени)
возвращает -7200
echo mktime (0,0,0,1,1,1970, -1); (т.е. флаг DST не установлен - оставлено на усмотрение PHP)
возвращает -3600
Кто-нибудь знает, почему эпоха будет возвращена как -3600, а не 0, пожалуйста?