Неверно отображает время

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

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

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Мой пхп потерялся чето во времени) У меня допустим 12 часов дня, а он показывает 00:00. То есть разница на 12 часов. Пишу так:
    echo date("H");

    По мануалу-
    H Часы в 24-часовом формате с ведущими нулями От 00 до 23

    Как исправить? :nezn:
     
  2. pori

    pori Постоялец

    Регистр.:
    30 авг 2009
    Сообщения:
    114
    Симпатии:
    18
    у тебя время локальное не совпадает с текущим. Возможно есть другие базовые функции, но я делал так:

    PHP:
    $tm time()+12*3600;

    $hour date('H',$tm);
     
  3. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Скрипт у тебя на локалке или на хостинге? Дело в том что в отличие от js php выдает время сервера, а не клиента
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    с php версии 5.1.0 появилась функция с которой можно установить временную зону для скрипта date_default_timezone_set(), так с ней установить зону и вызвать date(), ещё прибавляет летнее время если есть:

    PHP:
    <?
    echo 
    "зона:".date_default_timezone_get();
    date_default_timezone_set('Europe/Moscow');
    echo 
    "<br>зона:".date_default_timezone_get();

    echo 
    '<br>временная зона:'.date("e").', летнее время (1-да, 0-нет):'.date("I").', разница:'.date("O").', аббреветура:'.date("T").'<br>';
    echo 
    date ("D, d M Y H:i:s").'<br>';
    ?>
    Перейти по ссылке
    Перейти по ссылке
     
    Squoll2 нравится это.
Статус темы:
Закрыта.