Php Set TimeZone

У меня есть следующий код:

$date = new DateTime(date("Ymd H:i:s"), new DateTimeZone('Asia/Karachi')); echo $date->format('Ymd H:i:s'); 

Выход: 2015-08-26 17:46:05
Фактический результат должен быть: 2015-08-26 13:46:05

Как установить часовой пояс, чтобы появился фактический выход?

используйте эту строку в своих кодах

 date_default_timezone_set("Asia/Karachi"); 

как

  <?php date_default_timezone_set("Asia/Karachi"); echo date('dmY H:i:s'); ?> 

Метод 1 (Редактирование Php.ini)

1) Откройте файл php.ini

2) Добавьте следующую строку кода в начало файла php.ini

 date.timezone = "Asia/Karachi" 

3) Перезапустите php.

Примечание. Здесь можно найти список часовых поясов: http://php.net/manual/en/timezones.asia.php

Метод 2 (Использование date_default_timezone_set)

Если у вас нет доступа к файлу php.ini , вы можете использовать date_default_timezone_set("Asia/Karachi") . Просто поместите его в точку входа вашего приложения.

http://php.net/manual/en/function.date-default-timezone-set.php

Лучше сохранить его в файле конфигурации, потому что, даже если вы используете ту же функцию в другом месте, вам придется повторно объявить это утверждение.

  date_default_timezone_set("Asia/Karachi"); 

Если вы используете какие-либо фреймворки, такие как yii, CI или cake php .. держите эту строку в файле index.php, который в основном позже загружает остальную часть фреймворка.