мне нужно преобразовать метку времени в UTC-5помощи с функцией временной метки PHP
$offset
является часовым поясом пользователя в значении от -12 до 12. $ds
в летнее, если он включен, это добавит дополнительный час. Я сделал эту функцию, но я думаю, что она преобразует временную метку UTC-5 в новую временную метку, основанную на часовом поясе пользователя ... Мне нужно, чтобы функция была инвертирована, так что вместо этого она возвращает метку времени в UTC-5. Конечно, проблема намного больше, чем эта, но вот где я застрял. Любой способ это сделать?
function input_date($timestamp)
{
global $vbulletin;
$timestamp = (int)$timestamp;
if (strlen((string)$timestamp) == 10)
{
$hour = 3600.00;
$offset = $vbulletin->userinfo['timezoneoffset'];//sample -8
$ds = (int)$vbulletin->userinfo['dstonoff'];//DST values are 1 or 0
$fluff = $hour*($offset+5.00);
$timestamp = $timestamp+$fluff+($ds*$hour);
return $timestamp;//return timestamp in UTC-5 format..
}
else
{
return 0;
}
}
Есть ли возможность использовать * идентификаторы часовых поясов * вместо смещений + флаги DST? По идентификатору часового пояса я имею в виду название «Азия/Токио» или «Европа/Лондон». Затем вы можете легко использовать существующие функции PHP для этого, вместо того чтобы повторно изобретать вычисления времени, которые всегда подвержены ошибкам. – deceze