$usersTimezone = new DateTimeZone('America/Vancouver');
$l10nDate = new DateTime($date);
$l10nDate->setTimeZone($usersTimezone);
$msg_time = $l10nDate->format('h:i A M d',time());
Не уверен, где ошибка... если я ставлю $msg_time = date('h:i AM d',strtotime($row["date_time"]));
все работает, но время моего сервера и время моей страны не совпадают. поэтому мне нужно отправить данные в db в моем собственном часовом поясе для расчета.
В дополнение к вашим PHP файлам, добавьте это
date_default_timezone_set('America/Vancouver');
Или в вашем MySQL INSERT вы можете добавить это, то есть, если вы используете current_timestamp
SET time_zone = 'America/Vancouver';
$date
? Кроме того, почему вы передаетеtime()
в методformat
? Требуется только один аргумент, строка формата. Кроме того, вы можете передатьDateTimeZone
в качестве второго аргументаDateTime
(нет причин вызыватьsetTimeZone
после того, как он былsetTimeZone
).