Подтвердить что ты не робот

Как установить часовой пояс в codeigniter?

Я работаю в php-проекте, используя codeigniter. Пожалуйста, сообщите мне, что является глобальным способом установки часового пояса для php и mysql. В каком файле я могу установить это. Я хочу установить его без файлов php.ini и .htaccess.

В настоящее время я использую это перед каждой записью -

date_default_timezone_set("Asia/Kolkata");
$time =  Date('Y-m-d h:i:s');
4b9b3361

Ответ 1

Размещение этого date_default_timezone_set('Asia/Kolkata'); на config.php выше базового url также работает

PHP Список поддерживаемых временных зон

приложения /config.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

date_default_timezone_set('Asia/Kolkata');

Другим способом, который я нашел использовать, является полное, если вы хотите установить часовой пояс для каждого пользователя

Создайте MY_Controller.php

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

приложение/ядро ​​/MY_Controller.php

<?php

class MY_Controller extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->set_timezone();
    }

    public function set_timezone() {
        if ($this->session->userdata('user_id')) {
            $this->db->select('timezone');
            $this->db->from($this->db->dbprefix . 'user');
            $this->db->where('user_id', $this->session->userdata('user_id'));
            $query = $this->db->get();
            if ($query->num_rows() > 0) {
                date_default_timezone_set($query->row()->timezone);
            } else {
                return false;
            }
        }
    }
}

Также, чтобы получить список часовых поясов в php

 $timezones =  DateTimeZone::listIdentifiers(DateTimeZone::ALL);

 foreach ($timezones as $timezone) 
 {
    echo $timezone;
    echo "</br>";
 }

Ответ 2

Добавьте эту строку в основную index.php папки codeigniter

date_default_timezone_set('Asia/Kolkata');

Ответ 3

Как описано здесь

  • Откройте файл php.ini (найдите его)

  • Добавьте в верхнюю часть файла следующую строку кода:

    date.timezone = "US/Central"

  • Проверьте изменения, перейдя в phpinfo.php

Ответ 4

добавьте его в свой файл index.php, и он будет работать на вашем сайте

if ( function_exists( 'date_default_timezone_set' ) ) {
    date_default_timezone_set('Asia/Kolkata');
}

Ответ 5

вы можете попробовать следующее:

date_default_timezone_set('Asia/Kolkata');

В приложении /config.php ИЛИ application/autoload.php

Будет выглядеть так:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

date_default_timezone_set('Asia/Kolkata');

Он отлично работает для меня, я думаю, что это лучший способ определить DEFAULT TIMEZONE в codeignitor.

Ответ 6

Поместите его в config/config.php, он будет работать для всего приложения или index.php для codeigniter.

Ответ 7

Добавьте эту строку в autoload.php в папку приложения:

$autoload['time_zone'] = date_default_timezone_set('Asia/Kolkata');