У меня есть часовой пояс пользователя (он выбирает его из списка) У меня есть время в UTC (не текущее время), поэтому мне нужно что-то вроде GetTimeForRegion (время, часовой пояс) для PHP.Есть ли такие функции или библиотеки или сервисы?
вы можете использовать DateTime :: setTimezone (). Если ваша дата UTC является меткой времени UNIX, вы можете использовать такой код:
$date = new DateTime(); $date->setTimezone(new DateTimeZone('UTC')); $date->setTimestamp(1297869844); $date->setTimezone(new DateTimeZone('Europe/Paris')); echo $date->format('Y-m-d H:i:s'); // Will print 2011-02-16 16:24:04
дата ('r') или дата ('c') могут вам помочь.
echo date('r') отпечатки Thu, 16 Feb 2011 16:01:07 +0200
echo date('r')
Thu, 16 Feb 2011 16:01:07 +0200
echo date('c') отпечатки 2011-02-16T16:01:07+02:00
echo date('c')
2011-02-16T16:01:07+02:00
, пожалуйста, напишите это вместо: $ date = date ("Ymd H: i: s", time ());
, поэтому Y означает год m означает месяц d означает день H, получаю часы от 0 до 24 ч, получаю часы от 0 до 12, я получаю минуты с, получаю секунды
Вам нужно взглянуть на Дата / Время API в PHP. Я настоятельно советую вам избегать функций gmdate и более старых дат в php.
В вашем случае вы должны спросить пользователя о часовом поясе на основе Олсона.
Код Artefact2 сделает свое дело.