Как изменить часовой пояс на сайте

Тема в разделе "PHP", создана пользователем fredis69, 18 мар 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. fredis69

    fredis69 Постоялец

    Регистр.:
    25 окт 2008
    Сообщения:
    84
    Симпатии:
    2
    Доброго времени суток!

    Подскажите пожалуйсто как изменить часовой пояс выводимого времени с сервера?

    Пример:
    Делаю запрос на вывод времени с сервера:
    PHP:
    <?php
    $time 
    date("H:i:s");
    echo 
    "$time";
    ?>
    Выведет допустим 10:20:35 , а мне нужно 16:20:35
    Время отображается в часовом поясе GMT , а мне надо GMT+6. Разница в 6 часов, Как это исправить подсажите пожалуйсто.
    И как вообще можно в php изменять часовые пояса?
     
  2. NoN

    NoN Постоялец

    Регистр.:
    25 ноя 2008
    Сообщения:
    79
    Симпатии:
    33
    Код:
    1. с помошью функции[URL="http://ru.php.net/putenv"]putenv[/URL]
    
    <?php 
    $original_tz = getenv('TZ'); 
    $format = "d/m/Y H:i"; 
    
    // Server time: 
    $server_time = time(); 
    echo 'Server time: ' . date($format, time()) . '<br>'; 
    
    // GMT time: 
    $gm_time = $server_time - date('Z', $server_time); 
    echo "GMT time: " . date($format, $gm_time) . "<br>"; 
    
    // Africa/Cairo 
    putenv('TZ=Africa/Cairo'); 
    $a_time = $gm_time + date('Z', time()); 
    putenv('TZ=' . $original_tz); 
    echo 'Africa/Cairo time: ' . date($format, $a_time) . "<br>"; 
    
    // America/Los Angeles 
    putenv('TZ=America/Los_Angeles'); 
    $a_time = $gm_time + date('Z', time()); 
    putenv('TZ=' . $original_tz); 
    echo 'America/Los Angeles: ' . date($format, $a_time) . "<br>"; 
    
    // Europe/London 
    putenv('TZ=Europe/London'); 
    $a_time = $gm_time + date('Z', time()); 
    putenv('TZ=' . $original_tz); 
    echo 'Europe/London: ' . date($format, $a_time) . "<br>"; 
    
    putenv('TZ=' . $original_tz); 
    ?>
    
    
    или
    
    2. date_default_timezone_set доступна начиная с версии PHP 5 >= 5.1.0RC1
     
    fredis69 нравится это.
  3. Nikota

    Nikota Создатель

    Регистр.:
    11 фев 2009
    Сообщения:
    42
    Симпатии:
    2
    $time = date("H:i:s",time()+6*3600);
     
    fredis69 нравится это.
  4. jID

    jID Постоялец

    Регистр.:
    12 фев 2008
    Сообщения:
    106
    Симпатии:
    31
    Например так:
    date_default_timezone_set('Asia/Yekaterinburg');
     
    fredis69 нравится это.
  5. fredis69

    fredis69 Постоялец

    Регистр.:
    25 окт 2008
    Сообщения:
    84
    Симпатии:
    2
    Всем спасибо! очень помогли особенно благодарен за вот этот вариант: $time = date("H:i:s",time()+6*3600);

    Всё работает отлично и просто.
    Еще раз спасибо
     
Статус темы:
Закрыта.