В настоящее время я сообщаю о времени изменения файла следующим образом:
$this->newScanData[$key]["modified"] = filemtime($path."/".$file);
$modifiedtime = date($date_format." ".$time_format, $this->newScanData[$key]["modified"]);
Мне казалось, что в этом нет ничего плохого, но пользователь моего кода сообщает, что прошло 4 часа. Единственная причина, по которой я могу думать об этом, заключается в том, что сервер находится в другом часовом поясе по сравнению с пользователем. У каждого пользователя есть переменная, которую я могу использовать $gmt_offset
, в которой хранится часовой пояс, в котором находится пользователь. $gmt_offset
сохраняется как базовое смещение с плавающей запятой.
Сервер может находиться в любом часовом поясе, не обязательно в GMT-0. Сервер может находиться в другом часовом поясе с пользователем.
Как мне заставить $modifiedtime
иметь правильное время для пользователя в его часовом поясе на основе $gmt_offset
?