Ответ 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>";
}