Как там именно часовой пояс влияет я не знаю. Выходит что если +0300 то это -1 час. Может от часового пояса сервера зависит.
Догнал) В общем тут 20160413062500 +0300 указывается часовой пояс по которому взято это время. И при обработке strtotime() время преобразовывается с учетом этого сдвига, но по часовому поясу сервера.
Например часовой пояс сервера +0200. Если указать сдвиг +0200, то ничего не будет. Если +0300 то отнимается 1 час, так как, например 14:00 у нас в часовой зоне +3, тогда в часовой зоне +2 на данный момент должно быть на час меньше - 13:00. Если +0100 то будет 15:00 то есть +1 час. Если -0200 то +4 часа. И так далее.