ФорумПрограммированиеPHP для идиотов → Работа с временными зонами

Работа с временными зонами

  • at0m1x

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz Июнь 6, 2012, 5:23 п.п.

    На нашем сервере, в php.ini по умолчанию задана временная зона Europe/Moscow. Как в php преобразовывать МСК время, в Киевское время (Europe/Kiev), с учетом перехода на летнее время?

    Пробовал делать так:

    date_default_timezone_set('Europe/Moscow');
    $curDate = date('Y-m-d H:i:s');
    echo $curDate . '<br>'; // MSK time

    $date = new DateTime($curDate, new DateTimeZone('Europe/Kiev'));
    echo $date->format('Y-m-d H:i:s'); // Kiev time


    Результат выполнения:
    2012-06-06 17:07:38
    2012-06-06 17:07:38

    Время одинаковое, а должно на час различатся.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Июнь 7, 2012, 12:42 д.п., спустя 7 часов 18 минут 11 секунд

    Zend_Date
    он умеет с таймзонами работать, да и вообще, он много чего умеет.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Июнь 7, 2012, 1 д.п., спустя 17 минут 55 секунд

    он умеет с таймзонами работать

    ты так говоришь, будто нативный дейттайм не умеет)
  • SVat

    Сообщения: 23 Репутация: N Группа: Кто попало

    Spritz Июнь 8, 2012, 6:55 п.п., спустя 1 день 17 часов 55 минут

    Попробуйте так:
    $date = new DateTime(NULL, new DateTimeZone('Europe/Kiev'));

Пожалуйста, авторизуйтесь, чтобы написать комментарий!