La guía o código que encontrarás en este post es la solución más sencilla y válida que hallamos a tu duda o problema.
Solución:
colocando esto date_default_timezone_set('Asia/Kolkata');
en config.php por encima de la URL base también funciona
Lista PHP de zonas horarias admitidas
aplicación/config/config.php
Otra forma que he encontrado útil es si desea establecer una zona horaria para cada usuario
Crear un MY_Controller.php
cree una columna en su tabla de usuario, puede nombrarla zona horaria o cualquier cosa que desee. De esa manera, cuando el usuario selecciona su zona horaria, se puede configurar en su zona horaria al iniciar sesión.
aplicación/núcleo/MI_Controlador.php
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;
También para obtener la lista de zonas horarias en php
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
foreach ($timezones as $timezone)
echo $timezone;
echo "";
Si está buscando configurar la zona horaria globalmente en todo el proyecto, puede configurarlo CI application/config.php
expediente
$config['time_reference'] = 'Asia/Dubai';
Agregue esta línea dentro de la principal index.php
de la carpeta codeigniter
date_default_timezone_set('Asia/Kolkata');