Хорошо, у меня есть он.
Не решение моего вопроса, но все еще решает проблему.
я просто не покажу "Следующую" ссылку, когда представление покажет последнее изображение.
не Может полагать, что я не думал о нем ранее...
спасибо за Ваших парней усилий
Короткий ответ заключается в том, что с часовыми поясами сложно работать, и никто не хочет отвечать на сложные вопросы!
Чем длиннее, то ответ такой:
Во-первых, вам нужно создать представление вашей даты в их текущих часовых поясах. Следующие значения эквивалентны:
date_default_timezone_set('America/New York');
$date = new DateTime(null);
ИЛИ
$date = new DateTime(null, new DateTimeZone('America/New York'));
Это дает вам дату с зоной, установленной на Америка / Нью-Йорк. Мы можем легко преобразовать его в часовой пояс пользователя, в данном случае Europe / Paris, с помощью следующей строки:
$date->setTimezone(new DateTimeZone('Europe/London'));
Вы можете использовать следующую строку, чтобы получить дату / время, представленные в любой момент.
echo $date->format('d/m/Y H:i:s');
Я настоятельно рекомендую это вместо арифметики, так как встроенные функции PHP знают время перехода на летнее время и множество сложных вещей, с которыми вы не справитесь.
Мой тестовый сценарий полностью:
date_default_timezone_set('America/Belize');
$date = new DateTime(null);
echo $date->format('d/m/Y H:i:s') . '<br>';
$date->setTimezone(new DateTimeZone('Europe/London'));
echo $date->format('d/m/Y H:i:s') . '<br>';